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

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

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

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

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

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

เช่น

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

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

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

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

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

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

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

วิธีหนึ่งในการทำให้กรณีการใช้งานนี้บรรลุผลคือการตั้งค่าพร็อพเพอร์ตี้ GenerateResponse ของนโยบาย OAuthV2 เป็น false ใช้นโยบาย ExtractVariable เพื่อรับค่าของรหัสการให้สิทธิ์จากตัวแปร oauthv2authcode.{policy_name}.code จากนั้น คุณสามารถใช้นโยบาย AssignMessage เพื่อแสดงผลโค้ดในเพย์โหลด JSON ที่มีสถานะ 200

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

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

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

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