หัวข้อ OAuth 2.0 ขั้นสูง

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

การใช้โทเค็น OAuth ของบุคคลที่สาม

ดูการใช้โทเค็น OAuth ของบุคคลที่สาม

การกำหนด URL เรียกกลับหลายรายการ

เมื่อใช้ประเภทการให้สิทธิ์รหัสการให้สิทธิ์ คุณต้องระบุ URL เรียกกลับเมื่อลงทะเบียนแอปของนักพัฒนาซอฟต์แวร์ โดยปกติแล้ว URL เรียกกลับจะระบุ URL ของแอปที่กำหนดให้รับรหัสการให้สิทธิ์ในนามของแอปไคลเอ็นต์ นอกจากนี้ ยังใช้สตริง URL สำหรับการตรวจสอบด้วย ไคลเอ็นต์ต้องส่ง URL นี้ไปยัง Apigee Edge เมื่อขอรหัสการให้สิทธิ์และโทเค็นเพื่อการเข้าถึง และพารามิเตอร์ redirect_uri ต้องตรงกับ URL ที่ได้ลงทะเบียนไว้ โปรดดูที่การขอโทเค็นเพื่อการเข้าถึงและรหัสการให้สิทธิ์

เช่น

http://myorg-test.apigee.net/weather/oauth/authorizationcode?client_id=123456&response_type=code&redirect_uri=http://example.com/callback&scope=scope1%20scope2&state=abc

มีกรณีการใช้งานสำหรับการระบุ URL เรียกกลับหลายรายการในแอปพลิเคชันพร็อกซีเดียว เช่น คุณอาจต้องการตรวจสอบสิทธิ์สำหรับหลายโดเมน ตัวอย่างเช่น

  • http://myexample.com/callback
  • http://myexample.uk/callback
  • http://myexample.ja/callback

Edge ไม่รองรับการระบุ URL เรียกกลับหลายรายการหรือใช้อักขระไวลด์การ์ดเมื่อลงทะเบียนแอปของนักพัฒนาแอป สำหรับกรณีการใช้งานนี้ คุณระบุ URL เรียกกลับที่ว่างเปล่าเมื่อลงทะเบียนแอปนักพัฒนาแอป แล้วใส่ตรรกะในนโยบาย JavaScript เพื่อตรวจสอบ URI การเปลี่ยนเส้นทางขาเข้า

การเปลี่ยนลักษณะการแสดงผลเริ่มต้นของการดำเนินการ GenerateAuthCode

โดยค่าเริ่มต้น การดำเนินการ GenerateAuthCode ของนโยบาย OAuthV2 จะส่งคืนการเปลี่ยนเส้นทาง 302 ไปยัง URL เรียกกลับที่มีพารามิเตอร์การค้นหา ?code ที่มีรหัสการให้สิทธิ์

ในบางกรณี คุณอาจต้องการเปลี่ยนลักษณะการทำงานนี้ เช่น คุณอาจต้องการส่งคืนการตอบกลับ 200 ด้วย JSON ที่มีโครงสร้างซึ่งมีโค้ด

หากต้องการบรรลุกรณีการใช้งานนี้ ให้ใช้นโยบาย ExtractVariable เพื่อเรียกข้อมูลโค้ดและนโยบาย AssignMessage เพื่อแสดงโค้ดในเพย์โหลด JSON ที่มีสถานะ 200

กำลังตรวจสอบแอปความยินยอมของผู้ใช้ปลายทาง

คุณอาจต้องยืนยันว่าผู้ใช้ปลายทางของแอปให้สิทธิ์แอปแล้ว คุณใช้ Audit API ของ Apigee Edge เพื่อทำเช่นนั้นได้

ตัวอย่าง OAuth ขาออก

ดูตัวอย่าง outbound-oauth ในที่เก็บ Apigee api-platform-samples ใน GitHub คุณโคลนตัวอย่าง ทำให้ใช้งานได้ และเรียกใช้ตัวอย่างได้ ตัวอย่างนี้ใช้ Microsoft Azure translator API เพื่อแปลทวีต ในการดำเนินการดังกล่าว ระบบจะทำการเรียกออกเพื่อรับโทเค็นเพื่อการเข้าถึง OAuth แล้วแคชโทเค็นโดยใช้นโยบายการแคชของบริการ API โดยนำโทเค็นที่แคชไว้มาใช้ซ้ำทุกครั้งที่มีการโทรออก นอกจากนี้ยังมีแอปเบราว์เซอร์สาธิตที่ใช้เพื่อเรียกใช้พร็อกซี API ด้วย