เมื่อใช้ IDP ภายนอกกับ Edge API กระบวนการมาตรฐานในการรับโทเค็นเพื่อการเข้าถึง OIDC/OAuth2
จาก CLI คือ ขั้นตอนการให้สิทธิ์เข้าถึงอุปกรณ์ OAuth 2.0 โดยในขั้นตอนนี้ คุณจะใช้ยูทิลิตี get_token ซึ่งจะแจ้งให้คุณไปที่ URL ในเบราว์เซอร์เพื่อตรวจสอบสิทธิ์ผ่าน IDP แล้วยกเลิกการบล็อกเทอร์มินัลของคุณโดยอัตโนมัติ
อย่างไรก็ตาม สภาพแวดล้อมในการพัฒนาซอฟต์แวร์อาจรองรับการทำงานอัตโนมัติสำหรับงานการพัฒนาทั่วไป เช่น การทดสอบอัตโนมัติหรือไปป์ไลน์ CI/CD หากต้องการทำให้งานเหล่านี้เป็นแบบอัตโนมัติเมื่อเปิดใช้ IDP ภายนอก คุณต้องมีวิธีรับและรีเฟรชโทเค็น OAuth2 แบบไม่มีส่วนหัว โดยไม่ต้องมีการโต้ตอบกับเบราว์เซอร์
Edge รองรับการสร้างโทเค็นอัตโนมัติผ่านการใช้ผู้ใช้เครื่องแบบไม่มีส่วนหัว ผู้ใช้เครื่องสามารถ รับโทเค็น OIDC/OAuth2 ผ่านการให้สิทธิ์เข้าถึงด้วยรหัสผ่านมาตรฐานโดยไม่ต้องใช้เบราว์เซอร์ ซึ่งหมายความว่าคุณสามารถทำให้กระบวนการรับและรีเฟรชโทเค็นสำหรับสคริปต์เป็นแบบอัตโนมัติได้อย่างสมบูรณ์
สร้างผู้ใช้เครื่อง
คุณสามารถสร้างผู้ใช้เครื่องที่องค์กรทั้งหมดใช้ร่วมกัน หรือสร้างผู้ใช้เครื่องแยกต่างหากสำหรับแต่ละองค์กรก็ได้
ระบบจะสร้างและจัดเก็บผู้ใช้เครื่องไว้ในไดเรกทอรี OpenLDAP ในเครื่องโดยตรง และติดแท็กเป็นผู้ใช้เครื่องอย่างชัดเจน (employeeType: machineuser) ซึ่งช่วยให้ Apigee SSO ตรวจสอบสิทธิ์ผู้ใช้เครื่องได้อย่างปลอดภัยผ่านการให้สิทธิ์เข้าถึงด้วยรหัสผ่าน แม้ว่าจะมีการบังคับใช้ SAML/OIDC แบบรวมศูนย์อย่างเข้มงวดกับผู้ใช้ที่เป็นบุคคล
ดูวิธีการโดยละเอียดเกี่ยวกับการสร้าง การแสดงรายการ และการจัดการผู้ใช้เครื่องได้ที่หัวข้อ จัดการผู้ใช้เครื่องด้วย apigee-machineuser.sh
รับและรีเฟรชโทเค็นของผู้ใช้เครื่อง
คุณสามารถใช้ยูทิลิตี get_token และ acurl ที่มีให้ใน /opt/apigee/apigee-openldap/bin/ หรือ curl มาตรฐานเพื่อรับโทเค็นสำหรับผู้ใช้เครื่อง
- การใช้ยูทิลิตี Apigee: Wrapper
get_tokenและacurlจะจัดการการแคชโทเค็น การสร้างเพย์โหลด และการรีเฟรชอัตโนมัติโดยอัตโนมัติ ดูวิธีการและตัวอย่างโดยละเอียดเกี่ยวกับการใช้เครื่องมือเหล่านี้ได้ที่หัวข้อ การใช้ยูทิลิตี get_token และ acurl - การใช้ curl มาตรฐาน: หากสคริปต์การทำงานอัตโนมัติไม่มีสิทธิ์เข้าถึง Wrapper ของ Apigee คุณสามารถโต้ตอบกับ Apigee SSO ได้โดยตรงโดยใช้คำสั่ง
curlมาตรฐานต่อไปนี้
วิธีรับและรีเฟรชโทเค็นโดยใช้ curl มาตรฐาน:
- ใช้การเรียก API ต่อไปนี้เพื่อสร้างโทเค็นเพื่อการเข้าถึงและโทเค็นรีเฟรชเริ่มต้นจาก Apigee SSO โดยตรง
curl -H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \ -H "accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token -s \ -d 'grant_type=password&username=machineUserEmail&password=machineUserPassword&client_id=edgecli&client_secret=edgeclisecret&scope=openid%20profile%20email%20offline_access' - ส่งโทเค็นเพื่อการเข้าถึงไปยังการเรียก Edge Management API ในส่วนหัว
Authorization: Bearercurl -H "Authorization: Bearer access_token" \ http://MS_IP_DNS:8080/v1/organizations/org_name
- หากต้องการรีเฟรชโทเค็นเพื่อการเข้าถึงในภายหลัง ให้ใช้การเรียกต่อไปนี้ซึ่งมีโทเค็นรีเฟรช
curl -H "Content-Type:application/x-www-form-urlencoded;charset=utf-8" \ -H "Accept: application/json;charset=utf-8" \ -X POST http://Edge_SSO_IP_DNS:9099/token \ -d 'grant_type=refresh_token&refresh_token=refreshToken&client_id=edgecli&client_secret=edgeclisecret'