Edge สำหรับ Private Cloud เวอร์ชัน 4.17.09
การตรวจสอบสิทธิ์พื้นฐานเป็นวิธีหนึ่งในการตรวจสอบสิทธิ์เมื่อเรียกใช้ 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
หลังจากเปิดใช้ SAML คุณจะเลือกปิดใช้การตรวจสอบสิทธิ์พื้นฐานได้หากปิดใช้การตรวจสอบสิทธิ์พื้นฐาน สคริปต์ทั้งหมด (สคริปต์ Maven, สคริปต์ Shell, apigeetool
ฯลฯ) ที่อาศัยการเรียก Edge Management API ที่รองรับการตรวจสอบสิทธิ์พื้นฐานจะใช้งานไม่ได้อีกต่อไป คุณต้องอัปเดตการเรียก API และสคริปต์ที่ใช้การตรวจสอบสิทธิ์พื้นฐานเพื่อส่งโทเค็นเพื่อการเข้าถึง OAuth2 ในส่วนหัวของผู้ถือ
การใช้ get_token เพื่อรับและรีเฟรชโทเค็น
ยูทิลิตี get_token
จะแลกเปลี่ยนข้อมูลเข้าสู่ระบบการตรวจสอบสิทธิ์พื้นฐานและรหัสผ่านสำหรับโทเค็นการเข้าถึง OAuth2 และรีเฟรช ยูทิลิตี get_token
จะยอมรับข้อมูลเข้าสู่ระบบของคุณและพิมพ์โทเค็นเพื่อการเข้าถึงที่ถูกต้อง หากรีเฟรชโทเค็นได้ ระบบจะรีเฟรชและพิมพ์โทเค็น หากโทเค็นการรีเฟรชหมดอายุ ระบบจะแจ้งให้คุณระบุข้อมูลเข้าสู่ระบบ
ยูทิลิตี get_token
จะจัดเก็บโทเค็นในดิสก์และพร้อมใช้งานเมื่อจำเป็น นอกจากนี้ยังพิมพ์โทเค็นเพื่อการเข้าถึงที่ถูกต้องไปยัง Stdout ด้วย
จากตรงนั้น คุณสามารถใช้ Postman หรือฝังไว้ในตัวแปรสภาพแวดล้อมเพื่อใช้ใน curl
ขั้นตอนต่อไปนี้อธิบายวิธีใช้ get_token
เพื่อรับโทเค็นเพื่อการเข้าถึง 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 ของเครื่องที่โฮสต์โมดูล Edge SSO หากคุณกำหนดค่า TLS ใน Edge SSO ให้ใช้
https
และหมายเลขพอร์ต TLS ที่ถูกต้อง - แตกไฟล์แพ็กเกจ
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 ของเครื่องที่โฮสต์โมดูล Edge SSO หากคุณกำหนดค่า TLS ใน Edge SSO ให้ใช้
https
และหมายเลขพอร์ต TLS ที่ถูกต้อง - ไปที่ URL ต่อไปนี้ในเบราว์เซอร์เพื่อรับรหัสผ่านแบบใช้งานครั้งเดียว
http://edge_sso_IP_DNS:9099/passcode
หากคุณกำหนดค่า TLS ใน Edge SSO ให้ใช้
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
- ส่งโทเค็นเพื่อการเข้าถึงไปยังการเรียก Edge Management API เป็นส่วนหัวสำหรับผู้ถือ:
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 Management 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'