การตรวจสอบสิทธิ์พื้นฐานเป็นวิธีหนึ่งในการตรวจสอบสิทธิ์เมื่อทำการเรียกไปยัง Edge Management API
ตัวอย่างเช่น คุณสามารถส่งคำขอ 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
หลังจากเปิดใช้ IDP ภายนอกสำหรับการตรวจสอบสิทธิ์แล้ว คุณจะเลือกปิดใช้การตรวจสอบสิทธิ์พื้นฐานได้ หากปิดใช้การตรวจสอบสิทธิ์พื้นฐาน สคริปต์ทั้งหมด (เช่น Maven, Shell และ apigeetool) ที่อาศัยการเรียก Management API ของ Edge ที่รองรับการตรวจสอบสิทธิ์พื้นฐานจะใช้งานไม่ได้อีกต่อไป คุณต้องอัปเดตการเรียก API และสคริปต์ที่ใช้การตรวจสอบสิทธิ์ขั้นพื้นฐานเพื่อส่งโทเค็นเพื่อการเข้าถึง OAuth2 ในส่วนหัว Bearer
รับและรีเฟรชโทเค็นด้วย get_token
ยูทิลิตี get_token จะแลกเปลี่ยนข้อมูลรับรองการตรวจสอบสิทธิ์พื้นฐาน (และในบางกรณีคือรหัสผ่าน) เป็นโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช OAuth2 ยูทิลิตี get_token จะยอมรับข้อมูลเข้าสู่ระบบของคุณและแสดงโทเค็นเพื่อการเข้าถึงที่ถูกต้อง หากรีเฟรชโทเค็นได้ ยูทิลิตีจะรีเฟรชและแสดงผลโทเค็น หากโทเค็นการรีเฟรชหมดอายุ ระบบจะแจ้งให้ป้อนข้อมูลเข้าสู่ระบบของผู้ใช้
ยูทิลิตี get_token จะจัดเก็บโทเค็นไว้ในดิสก์ พร้อมใช้งานเมื่อจำเป็น นอกจากนี้ยังพิมพ์โทเค็นเพื่อการเข้าถึงที่ถูกต้องไปยัง stdout ด้วย จากนั้น คุณจะใช้ส่วนขยายเบราว์เซอร์ เช่น Postman หรือฝังไว้ในตัวแปรสภาพแวดล้อมเพื่อใช้ใน curl ได้
วิธีรับโทเค็นเพื่อการเข้าถึง OAuth2 เพื่อเรียกใช้ Edge Management API
- ดาวน์โหลดแพ็กเกจ
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 ของเครื่องที่โฮสต์โมดูล Apigee SSO หากคุณกำหนดค่า TLS ใน Apigee SSO ให้ใช้
httpsและหมายเลขพอร์ต TLS ที่ถูกต้อง - แตกไฟล์แพ็กเกจ
ssocli-bundle.zipดังตัวอย่างต่อไปนี้unzip ssocli-bundle.zip
- ติดตั้ง
get_tokenใน/usr/local/binดังตัวอย่างต่อไปนี้./install -b path
ตัวเลือก
-bจะระบุตำแหน่งอื่น - ตั้งค่าตัวแปรสภาพแวดล้อม
SSO_LOGIN_URLเป็น URL สำหรับเข้าสู่ระบบในรูปแบบต่อไปนี้export SSO_LOGIN_URL="http://edge_sso_IP_DNS:9099"
โดยที่ edge_sso_IP_DNS คือที่อยู่ IP ของเครื่องที่โฮสต์โมดูล Apigee SSO หากคุณกำหนดค่า TLS ใน Apigee SSO ให้ใช้
httpsและหมายเลขพอร์ต TLS ที่ถูกต้อง - (SAML เท่านั้น) ในเบราว์เซอร์ ให้ไปที่ URL ต่อไปนี้เพื่อรับรหัสผ่านแบบใช้งานครั้งเดียว
http://edge_sso_IP_DNS:9099/passcode
หากคุณกำหนดค่า TLS ใน Apigee SSO ให้ใช้
httpsและหมายเลขพอร์ต TLS ที่ถูกต้องคำขอนี้จะแสดงรหัสผ่านแบบใช้งานครั้งเดียวซึ่งจะยังคงใช้ได้จนกว่าคุณจะรีเฟรช URL นั้นเพื่อรับรหัสผ่านใหม่ หรือใช้รหัสผ่านกับ
get_tokenเพื่อสร้างโทเค็นเพื่อการเข้าถึงโปรดทราบว่าคุณจะใช้รหัสผ่านได้เฉพาะเมื่อตรวจสอบสิทธิ์ด้วย SAML IDP เท่านั้น คุณไม่สามารถใช้รหัสผ่านเพื่อตรวจสอบสิทธิ์กับ IDP ของ LDAP
- เรียกใช้
get_tokenเพื่อรับโทเค็นเพื่อการเข้าถึง OAuth2 ดังตัวอย่างต่อไปนี้get_token -u emailAddress
โดย emailAddress คืออีเมลของผู้ใช้ Edge
(SAML เท่านั้น) ป้อนรหัสผ่านในบรรทัดคำสั่งนอกเหนือจากอีเมล ดังตัวอย่างต่อไปนี้
get_token -u emailAddress -p passcode
ยูทิลิตี
get_tokenจะรับโทเค็นเพื่อการเข้าถึง OAuth2, พิมพ์ลงในหน้าจอ และเขียนโทเค็นดังกล่าวและโทเค็นการรีเฟรชลงใน~/.sso-cli - ส่งโทเค็นเพื่อการเข้าถึงไปยังการเรียก Edge Management API เป็นส่วนหัว
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
เมื่อใช้คำสั่งรูปแบบนี้ หากโทเค็นเพื่อการเข้าถึงหมดอายุ ระบบจะรีเฟรชโดยอัตโนมัติจนกว่าโทเค็นการรีเฟรชจะหมดอายุ
(SAML เท่านั้น) หลังจากโทเค็นการรีเฟรชหมดอายุ get_token จะแจ้งให้คุณป้อนรหัสผ่านใหม่ คุณต้องไปที่ URL ที่แสดงด้านบนในขั้นตอนที่ 3 และสร้างรหัสผ่านใหม่ก่อนจึงจะสร้างโทเค็นเพื่อการเข้าถึง OAuth ใหม่ได้
ใช้ Management API เพื่อรับและรีเฟรชโทเค็น
ใช้การรักษาความปลอดภัย OAuth2 กับ Apigee Edge Management API แสดงวิธีใช้ Edge Management API เพื่อรับและโทเค็นการรีเฟรช นอกจากนี้ คุณยังใช้การเรียก Edge API เพื่อรับโทเค็นที่สร้างจากการยืนยัน SAML ได้ด้วย
ความแตกต่างเพียงอย่างเดียวระหว่างการเรียก API ที่ระบุไว้ในการใช้การรักษาความปลอดภัย OAuth2 กับ Apigee Edge Management API คือ URL ของการเรียกต้องอ้างอิงชื่อโซนของคุณ นอกจากนี้ หากต้องการสร้างโทเค็นเพื่อการเข้าถึงเริ่มต้นด้วย SAML IDP คุณต้องใส่รหัสผ่านตามที่แสดงในขั้นตอนที่ 3 ของขั้นตอนข้างต้น
สำหรับการให้สิทธิ์ ให้ส่งข้อมูลเข้าสู่ระบบไคลเอ็นต์ OAuth2 ที่สงวนไว้ในส่วนหัว Authorization การเรียกจะพิมพ์โทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชลงในหน้าจอ
รับโทเค็นเพื่อการเข้าถึง
(LDAP) ใช้การเรียก 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'
(SAML) ใช้การเรียก 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'
โปรดทราบว่าการตรวจสอบสิทธิ์ด้วย IDP ของ SAML ต้องใช้รหัสผ่านชั่วคราว แต่ IDP ของ LDAP ไม่ต้องใช้
รีเฟรชโทเค็นเพื่อการเข้าถึง
หากต้องการรีเฟรชโทเค็นเพื่อการเข้าถึงในภายหลัง ให้ใช้การเรียกต่อไปนี้ซึ่งมีโทเค็นการรีเฟรช
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'