คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
การเพิกถอนสิทธิ์เข้าถึงและรีเฟรชโทเค็น
ในบางกรณี แอปอาจจำเป็นต้องเพิกถอนหรือทำให้โทเค็นใช้งานไม่ได้อย่างชัดเจน เช่น เมื่อ ผู้ใช้ออกจากระบบแอปที่เปิดใช้ OAuth หากคุณเพิกถอนโทเค็น คุณจะอนุมัติโทเค็นนั้นอีกครั้งได้ทุกเมื่อ ก่อนจะหมดอายุ
ขั้นตอนสำหรับการเพิกถอนโทเค็นจะกำหนดตามข้อกำหนดการเพิกถอนโทเค็น OAuth 2.0
Apigee Edge มีการดำเนินการ DefaultateToken ให้คุณกำหนดค่าแท็กเฉพาะ ปลายทางการเพิกถอนโทเค็น การเผยแพร่ URI ของปลายทางนี้หมายความว่าคุณช่วยให้นักพัฒนาแอปดำเนินการต่อไปนี้ได้ ทำให้โทเค็นที่ออกโดย Edge เป็นโมฆะ
ต่อไปนี้เป็นตัวอย่างการกำหนดค่าสำหรับนโยบาย OAuthV2 และการดำเนินการ "ไม่ถูกต้อง" เป็นโทเค็น ใน ในกรณีนี้ ทั้งโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชที่เชื่อมโยงจะถูกเพิกถอน โดยทางเทคนิค ถูกเพิกถอนทั้งคู่เนื่องจากแฟล็กแบบ Cascade ได้รับการตั้งค่าเป็น "จริง" สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธี การทำงานของ Cascade Flag โปรดดูส่วนแอตทริบิวต์ขององค์ประกอบโทเค็นด้านล่าง
<OAuthV2 name="InvalidateToken"> <Operation>InvalidateToken</Operation> <Tokens> <Token type="accesstoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
<Tokens>/<Token> องค์ประกอบ
ระบุตัวแปรโฟลว์ที่ระบุว่าโทเค็นที่จะเพิกถอน หากนักพัฒนาแอป
คาดว่าจะส่งคำขอเพิกถอนโดยใช้พารามิเตอร์การค้นหา
อย่างเช่น access_token
ตัวแปรโฟลว์ที่ถูกต้องจะ
เป็น: request.queryparam.access_token
หากต้องการกำหนดโทเค็นในส่วนหัว HTTP
เช่น ตั้งค่านี้เป็น request.header.access_token
Attributes
-
type
(ต้องระบุ, สตริง): ประเภทโทเค็นที่ตัวแปรระบุ ที่ระบุ ค่าที่รองรับ คือaccesstoken
และrefreshtoken:
- หากต้องการเพิกถอนโทเค็นเพื่อการเข้าถึง ให้ระบุประเภท Accesstoken
- หากต้องการเพิกถอนทั้งโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช ให้ระบุประเภท Refreshtoken เมื่อเห็น
พิมพ์การรีเฟรช Edge จะถือว่าโทเค็นนั้นเป็นโทเค็นการรีเฟรช หากโทเค็นการรีเฟรชนั้น
ถูกเพิกถอนแล้ว หากไม่พบโทเค็นการรีเฟรชนั้น Edge จะตรวจสอบเพื่อ
ดูว่าเป็นโทเค็นเพื่อการเข้าถึงหรือไม่ หากมีโทเค็นเพื่อการเข้าถึงอยู่ ระบบจะเพิกถอนโทเค็นดังกล่าว
หมายเหตุ: หากคุณส่งโทเค็นที่ใช้ไม่ได้ไปแล้วไปยัง "DefaultateToken" นโยบายจะไม่แสดงผลข้อผิดพลาด แม้ว่าคุณอาจคาดหวังว่าจะเกิดขึ้น เช่น การดำเนินการจะไม่มีผล
-
cascade
(ไม่บังคับ, บูลีน, ค่าเริ่มต้น: true) การใช้งานหลักของ คือการเพิกถอนโทเค็นการรีเฟรชโดยไม่ยกเลิกโทเค็นเพื่อการเข้าถึงที่เกี่ยวข้อง พิจารณา กรณีเหล่านี้- เพิกถอนเฉพาะโทเค็นการรีเฟรชเท่านั้น และไม่เพิกถอนโทเค็นเพื่อการเข้าถึงที่เกี่ยวข้อง วิธีการคือ
ตั้งค่า <Token> พิมพ์เป็น
refreshtoken
และตั้งค่า Cascade เป็นfalse
- เพิกถอนทั้งโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช ซึ่งทำได้โดยการตั้ง <Token>
พิมพ์เป็น
accesstoken
ค่าของ Cascade อาจเป็นtrue
(ค่า (ค่าเริ่มต้น)) หรือfalse
หากคุณตั้งค่าเป็นtrue
สิทธิ์เข้าถึงทั้ง 2 อย่าง และเพิกถอนโทเค็นการรีเฟรชแล้ว หากคุณตั้งค่าเป็นfalse
สิทธิ์เข้าถึง โทเค็นถูกเพิกถอน และโทเค็นการรีเฟรชจะใช้งานไม่ได้ ดูข้อมูลเพิ่มเติมในหมายเหตุด้านล่าง คำอธิบาย - เพิกถอนโทเค็นเพื่อการเข้าถึงและอย่าเพิกถอนโทเค็นการรีเฟรชที่เชื่อมโยงอยู่ ไม่ใช่ ที่รองรับ ดูคำอธิบายเพิ่มเติมในหมายเหตุด้านล่าง
- เพิกถอนเฉพาะโทเค็นการรีเฟรชเท่านั้น และไม่เพิกถอนโทเค็นเพื่อการเข้าถึงที่เกี่ยวข้อง วิธีการคือ
ตั้งค่า <Token> พิมพ์เป็น
หมายเหตุ: ด้วยเหตุผลด้านความปลอดภัย หากคุณเพิกถอน
โทเค็นเพื่อการเข้าถึง โทเค็นการรีเฟรชที่เชื่อมโยงอยู่จะถูกเพิกถอนด้วย ดังนั้นคุณจึงไม่สามารถใช้
แอตทริบิวต์ Cascade เพื่อเพิกถอนเฉพาะโทเค็นเพื่อการเข้าถึง เช่น หากตั้งค่า <Token>
พิมพ์เป็น accesstoken
และตั้งค่า cascade=false
โทเค็นเพื่อการเข้าถึงจะถูกเพิกถอน
(ตามที่คาดหวัง) แต่โทเค็นการรีเฟรชที่เชื่อมโยงนั้นจะใช้ไม่ได้ ไม่สามารถใช้เพื่อรีเฟรชได้
โทเค็นเพื่อการเข้าถึงที่ถูกเพิกถอน กรณีการใช้งานหลักสำหรับแอตทริบิวต์ Cascade คือเมื่อต้องการ
เพิกถอนโทเค็นการรีเฟรช ในกรณีดังกล่าว ให้ตั้งค่า <Token> พิมพ์เป็น refreshtoken
และตั้งค่า cascade=false
ระบบจะเพิกถอนโทเค็นการรีเฟรช แต่การเข้าถึงที่เชื่อมโยงกับโทเค็นดังกล่าว
โทเค็นจะยังคงใช้งานได้ (จนกว่าจะหมดอายุหรือถูกเพิกถอน) สำหรับข้อมูลเพิ่มเติม โปรดดู
การสนทนาในฟอรัมชุมชน
กำลังอนุมัติสิทธิ์เข้าถึงและรีเฟรชโทเค็น
ใช้การดำเนินการ VERIFToken เพื่อ "อนุมัติอีกครั้ง" โทเค็นที่เพิกถอน นั่นคือเมื่อคุณใช้ สถานะของโทเค็นการเข้าถึงที่กำหนดเป้าหมายหรือโทเค็นการรีเฟรชเปลี่ยนจาก "เพิกถอน" ถึง "อนุมัติแล้ว" คุณสามารถตรวจสอบโทเค็นที่เพิกถอนซึ่งยังไม่หมดอายุได้
<OAuthV2 name="ValidateToken"> <Operation>ValidateToken</Operation> <Tokens> <Token type="refreshtoken" cascade="true">flow.variable</Token> </Tokens> </OAuthV2>
<Tokens>/<Token> องค์ประกอบ
ระบุตัวแปรโฟลว์ที่ระบุโทเค็นที่ต้องตรวจสอบ หากนักพัฒนาแอป
คาดว่าจะส่งคำขอการตรวจสอบโดยใช้พารามิเตอร์การค้นหา
อย่างเช่น access_token
ตัวแปรโฟลว์ที่ถูกต้องจะ
เป็น: request.queryparam.access_token
หากต้องการกำหนดโทเค็นในส่วนหัว HTTP
เช่น ตั้งค่านี้เป็น request.header.access_token
Attributes
type
(ต้องระบุ, สตริง) ประเภทโทเค็นที่ตัวแปรระบุ ที่ระบุ ค่าที่รองรับ คือaccesstoken
และrefreshtoken
cascade
(ไม่บังคับ, บูลีน): โดยค่าเริ่มต้น ตัวเลือกนี้จะตั้งค่าเป็นtrue
และทำให้การตรวจสอบมีผลกับโทเค็นที่เชื่อมโยง ดังนั้น หากใช้ ไปยังโทเค็นการรีเฟรช โทเค็นเพื่อการเข้าถึงที่เชื่อมโยงจะได้รับการตรวจสอบด้วย หากใช้สิทธิ์เข้าถึงแบบใดแบบหนึ่ง โทเค็นการรีเฟรชที่เชื่อมโยงจะได้รับการตรวจสอบด้วย หากตั้งค่าเป็นfalse
จะมีการตรวจสอบเฉพาะโทเค็นเพื่อการเข้าถึงหรือการรีเฟรชที่ระบุไว้เท่านั้น