Edge for Private Cloud เวอร์ชัน 4.17.09
การตรวจสอบสิทธิ์พื้นฐานเป็นวิธีหนึ่งในการตรวจสอบสิทธิ์เมื่อเรียกใช้ API การจัดการ Edge ตัวอย่างเช่น คุณส่งคำขอ cURL ต่อไปนี้ไปยัง Edge Management API เพื่อเข้าถึงข้อมูลเกี่ยวกับองค์กรได้
curl -u userName:pWord https://ms_IP_DNS:8080/v1/organizations/orgName
ในตัวอย่างนี้ คุณใช้ตัวเลือก cURL -u เพื่อส่งข้อมูลรับรองการตรวจสอบสิทธิ์พื้นฐาน หรือจะส่งโทเค็น OAuth2 ในส่วนหัว Bearer
เพื่อเรียกใช้ Edge Management API ก็ได้ เช่น
curl -H "Authorization: Bearer <access_token>" https://ms_IP_DNS:8080/v1/organizations/orgName
หลังจากเปิดใช้ SAML แล้ว คุณเลือกปิดใช้การตรวจสอบสิทธิ์พื้นฐานได้ หากปิดใช้การตรวจสอบสิทธิ์พื้นฐาน สคริปต์ทั้งหมด (สคริปต์ Maven, สคริปต์ Shell, apigeetool
ฯลฯ) ที่ใช้การเรียก API การจัดการของ Edge ที่รองรับการตรวจสอบสิทธิ์พื้นฐานจะใช้งานไม่ได้อีกต่อไป คุณต้องอัปเดตการเรียก API และสคริปต์ที่ใช้การตรวจสอบสิทธิ์พื้นฐานเพื่อส่งโทเค็นการเข้าถึง OAuth2 ในส่วนหัว Bearer
การใช้ get_token เพื่อรับและรีเฟรชโทเค็น
ยูทิลิตี get_token
จะแลกเปลี่ยนข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์พื้นฐานและรหัสผ่านเพื่อรับโทเค็นการเข้าถึงและโทเค็นการรีเฟรช OAuth2 ยูทิลิตี get_token
จะยอมรับข้อมูลเข้าสู่ระบบและพิมพ์โทเค็นการเข้าถึงที่ถูกต้อง หากรีเฟรชโทเค็นได้ ระบบจะรีเฟรชและพิมพ์โทเค็น หากโทเค็นรีเฟรชหมดอายุ ระบบจะแจ้งให้ผู้ใช้ระบุข้อมูลเข้าสู่ระบบ
ยูทิลิตี get_token
จะจัดเก็บโทเค็นไว้ในดิสก์เพื่อพร้อมใช้งานเมื่อจำเป็น และยังพิมพ์โทเค็นการเข้าถึงที่ถูกต้องไปยัง stdout ด้วย
จากตรงนั้น คุณจะใช้ Postman หรือฝังไว้ในตัวแปรสภาพแวดล้อมเพื่อใช้ใน curl ก็ได้
ขั้นตอนต่อไปนี้อธิบายวิธีใช้ get_token
เพื่อรับโทเค็นการเข้าถึง OAuth2 เพื่อทำคําเรียก API การจัดการ Edge
- ดาวน์โหลดแพ็กเกจ
sso-cli
:curl http://edge_sso_IP_DNS:9099/resources/scripts/sso-cli/ssocli-bundle.zip -o "ssocli-bundle.zip"
โดยที่ edge_sso_IP_DNS คือที่อยู่ IP ของชื่อ DNS ของเครื่องที่โฮสต์โมดูล SSO ของ Edge หากคุณกำหนดค่า TLS ใน Edge SSO ให้ใช้
https
และหมายเลขพอร์ต TLS ที่ถูกต้อง - แตกไฟล์ ZIP ของแพ็กเกจ
ssocli-bundle.zip
:unzip ssocli-bundle.zip
- ติดตั้ง
get_token
ใน/usr/local/bin
./install
ใช้ตัวเลือก
-b
เพื่อระบุตำแหน่งอื่น./install -b path
- ตั้งค่าตัวแปรสภาพแวดล้อม
SSO_LOGIN_URL
เป็น URL เข้าสู่ระบบในรูปแบบต่อไปนี้export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
โดยที่ edge_sso_IP_DNS คือที่อยู่ IP ของชื่อ DNS ของเครื่องที่โฮสต์โมดูล SSO ของ Edge หากคุณกําหนดค่า TLS ใน SSO ของ Edge ให้ใช้
https
และหมายเลขพอร์ต TLS ที่ถูกต้อง - ในเบราว์เซอร์ ให้ไปที่ URL ต่อไปนี้เพื่อรับรหัสผ่านแบบครั้งเดียว
http://edge_sso_IP_DNS:9099/passcode
หากคุณกําหนดค่า TLS ใน SSO ของ Edge ให้ใช้
https
และหมายเลขพอร์ต TLS ที่ถูกต้องURL นี้จะแสดงรหัสผ่านแบบใช้ครั้งเดียวที่ใช้งานได้จนกว่าคุณจะรีเฟรช URL นั้นเพื่อรับรหัสผ่านใหม่ หรือใช้รหัสผ่านกับ
get_token
เพื่อสร้างโทเค็นการเข้าถึง - เรียกใช้
get_token
เพื่อรับโทเค็นการเข้าถึง OAuth2
get_token -u emailAddress
โดยที่ emailAddress คืออีเมลของผู้ใช้ Edge ระบบจะขอให้คุณป้อนรหัสผ่านแบบใช้งานครั้งเดียวที่ได้รับในขั้นตอนที่ 3
One Time Code ( Get one at https://edge_sso_IP.com/passcode ) Enter the passcode if SAML is enabled or press ENTER:
ป้อนรหัสผ่าน ยูทิลิตี
get_token
จะรับโทเค็นการเข้าถึง OAuth2, แสดงผลบนหน้าจอ และเขียนโทเค็นดังกล่าวและโทเค็นการรีเฟรชลงใน~/.sso-cli
คุณสามารถป้อนรหัสผ่านในบรรทัดคำสั่งได้โดยใช้คำสั่ง
get_token
ในรูปแบบต่อไปนี้get_token -u emailAddress -p passcode
- ส่งโทเค็นการเข้าถึงไปยังการเรียก API การจัดการ Edge เป็นส่วนหัว Bearer ดังนี้
curl -H "Authorization: Bearer access_token" https://ms_IP:8080/v1/organizations/orgName
หลังจากได้รับโทเค็นการเข้าถึงใหม่เป็นครั้งแรก คุณจะรับโทเค็นการเข้าถึงและส่งไปยังการเรียก API ในคําสั่งเดียวได้ ดังที่แสดงด้านล่าง
header=`get_token` && curl -H "Authorization: Bearer $header" https://ms_IP:8080/v1/o/orgName
เมื่อใช้คำสั่งรูปแบบนี้ หากโทเค็นการเข้าถึงหมดอายุ ระบบจะรีเฟรชโทเค็นโดยอัตโนมัติจนกว่าโทเค็นการรีเฟรชจะหมดอายุ
หลังจากโทเค็นรีเฟรชหมดอายุ get_token
จะแจ้งให้คุณตั้งรหัสผ่านใหม่ คุณต้องไปที่ URL ที่แสดงด้านบนในขั้นตอนที่ 3 และสร้างรหัสผ่านใหม่ก่อนจึงจะสร้างโทเค็นการเข้าถึง OAuth ใหม่ได้
การใช้ Management API เพื่อรับและรีเฟรชโทเค็น
การใช้การรักษาความปลอดภัย OAuth2 กับ Apigee Edge การจัดการ API จะมีวิธีการที่แสดงวิธีใช้ Edge Management API เพื่อรับและรีเฟรชโทเค็น นอกจากนี้ คุณยังใช้การเรียก Edge API เพื่อรับโทเค็นที่สร้างขึ้นจากการยืนยัน SAML ได้ด้วย
ความแตกต่างเพียงอย่างเดียวระหว่างการเรียก API ที่บันทึกไว้ในการใช้การรักษาความปลอดภัย OAuth2 กับ API การจัดการ Apigee Edge คือ URL ของการเรียกต้องอ้างอิงถึงชื่อโซน นอกจากนี้ คุณจะต้องใส่รหัสผ่านด้วยเพื่อสร้างโทเค็นการเข้าถึงเริ่มต้น ตามที่แสดงในขั้นตอนที่ 3 ของกระบวนการข้างต้น
ตัวอย่างเช่น ใช้การเรียก API ต่อไปนี้เพื่อสร้างโทเค็นการเข้าถึงเริ่มต้นและรีเฟรช
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" / -H "accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token -s / -d 'grant_type=password&response_type=token&passcode=passcode'
สําหรับการให้สิทธิ์ ให้ส่งข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth2 ที่สงวนไว้ในส่วนหัว Authorization
การเรียกใช้จะพิมพ์โทเค็นการเข้าถึงและโทเค็นการรีเฟรชบนหน้าจอ
หากต้องการรีเฟรชโทเค็นการเข้าถึงในภายหลัง ให้ใช้การเรียกที่มีโทเค็นการรีเฟรชต่อไปนี้
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" / -H "Accept: application/json;charset=utf-8" / -H "Authorization: Basic ZWRnZWNsaTplZGdlY2xpc2VjcmV0" -X POST / https://edge_sso_IP_DNS:9099/oauth/token / -d 'grant_type=refresh_token&refresh_token=refreshToken'