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

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

การใช้โทเค็น 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

มีกรณีการใช้งานสำหรับการระบุ 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

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

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

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

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