การอนุมัติและเพิกถอนโทเค็นเพื่อการเข้าถึง

คุณกำลังดูเอกสารประกอบ 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>

&lt;Tokens&gt;/&lt;Token&gt; องค์ประกอบ

ระบุตัวแปรโฟลว์ที่ระบุว่าโทเค็นที่จะเพิกถอน หากนักพัฒนาแอป คาดว่าจะส่งคำขอเพิกถอนโดยใช้พารามิเตอร์การค้นหา อย่างเช่น 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 สิทธิ์เข้าถึง โทเค็นถูกเพิกถอน และโทเค็นการรีเฟรชจะใช้งานไม่ได้ ดูข้อมูลเพิ่มเติมในหมายเหตุด้านล่าง คำอธิบาย
    • เพิกถอนโทเค็นเพื่อการเข้าถึงและอย่าเพิกถอนโทเค็นการรีเฟรชที่เชื่อมโยงอยู่ ไม่ใช่ ที่รองรับ ดูคำอธิบายเพิ่มเติมในหมายเหตุด้านล่าง

หมายเหตุ: ด้วยเหตุผลด้านความปลอดภัย หากคุณเพิกถอน โทเค็นเพื่อการเข้าถึง โทเค็นการรีเฟรชที่เชื่อมโยงอยู่จะถูกเพิกถอนด้วย ดังนั้นคุณจึงไม่สามารถใช้ แอตทริบิวต์ 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>

&lt;Tokens&gt;/&lt;Token&gt; องค์ประกอบ

ระบุตัวแปรโฟลว์ที่ระบุโทเค็นที่ต้องตรวจสอบ หากนักพัฒนาแอป คาดว่าจะส่งคำขอการตรวจสอบโดยใช้พารามิเตอร์การค้นหา อย่างเช่น access_token ตัวแปรโฟลว์ที่ถูกต้องจะ เป็น: request.queryparam.access_token หากต้องการกำหนดโทเค็นในส่วนหัว HTTP เช่น ตั้งค่านี้เป็น request.header.access_token

Attributes

  • type (ต้องระบุ, สตริง) ประเภทโทเค็นที่ตัวแปรระบุ ที่ระบุ ค่าที่รองรับ คือ accesstoken และ refreshtoken
  • cascade (ไม่บังคับ, บูลีน): โดยค่าเริ่มต้น ตัวเลือกนี้จะตั้งค่าเป็น true และทำให้การตรวจสอบมีผลกับโทเค็นที่เชื่อมโยง ดังนั้น หากใช้ ไปยังโทเค็นการรีเฟรช โทเค็นเพื่อการเข้าถึงที่เชื่อมโยงจะได้รับการตรวจสอบด้วย หากใช้สิทธิ์เข้าถึงแบบใดแบบหนึ่ง โทเค็นการรีเฟรชที่เชื่อมโยงจะได้รับการตรวจสอบด้วย หากตั้งค่าเป็น false จะมีการตรวจสอบเฉพาะโทเค็นเพื่อการเข้าถึงหรือการรีเฟรชที่ระบุไว้เท่านั้น