จัดการแอปที่ผู้ใช้ได้รับอนุญาต (grants)
Grant ของแอปแสดงถึงสถานะการอนุญาตของผู้ใช้สำหรับแอปพลิเคชันไคลเอนต์แต่ละตัว
ใช้การจัดการ grant เมื่อผู้ใช้หรือผู้ดูแลระบบต้องการตรวจสอบแอปที่ได้รับอนุญาตและเพิกถอนการเข้าถึงแอปโดยไม่ต้องเพิกถอนเซสชัน Logto ทั้งหมด
เมื่อมีการเพิกถอน grant โทเค็นทึบ (Opaque token) การเข้าถึง (Access token) และโทเค็นรีเฟรช (Refresh token) ที่ออกให้ก่อนหน้านี้สำหรับ grant เหล่านั้นจะถูกทำให้ใช้ไม่ได้ โทเค็นการเข้าถึง (Access token) แบบ JWT เป็นแบบไร้สถานะ (stateless) ดังนั้นโทเค็นที่ออกไปก่อนหน้านี้จะยังคงใช้ได้จนกว่าจะหมดอายุ
เลือกเส้นทางที่เหมาะสม
| สถานการณ์ | เส้นทางที่แนะนำ |
|---|---|
| ให้ผู้ใช้ที่ลงชื่อเข้าแล้วจัดการการอนุญาตแอปของตนเอง | Account API |
| ให้ผู้ดูแลระบบหรือทีมสนับสนุนจัดการ grant สำหรับผู้ใช้เป้าหมาย | Management API |
| ให้ผู้ปฏิบัติงานจัดการการอนุญาตแอปของบุคคลที่สามใน UI | Admin Console |
API สำหรับจัดการ grant โดยตรง
Account API (บริการตนเอง)
ใช้ Account API ในหน้าการตั้งค่าบัญชีของผู้ใช้ปลายทาง:
GET /api/my-account/grantsDELETE /api/my-account/grants/{grantId}- อ้างอิง: จัดการแอปที่ผู้ใช้ได้รับอนุญาต (grants)
Management API (เครื่องมือผู้ดูแลระบบ)
ใช้ Management API ในเครื่องมือผู้ดูแลระบบและกระบวนการสนับสนุน:
GET /api/users/{userId}/grantsDELETE /api/users/{userId}/grants/{grantId}- อ้างอิง: จัดการแอปที่ผู้ใช้ได้รับอนุญาต (grants)
กรองรายการ grant ตามประเภทแอป
จุดปลาย (endpoint) สำหรับแสดงรายการ grant รองรับพารามิเตอร์ query appType แบบเลือกได้:
appType=firstParty: แสดงเฉพาะ grant ของแอป first-partyappType=thirdParty: แสดงเฉพาะ grant ของแอป third-party- ไม่ระบุ
appType: คืน grant ที่ใช้งานอยู่ทั้งหมด
ไคลเอนต์ Dynamic app ถือเป็นแอป third-party ดังนั้น grant ของพวกเขาจะถูกคืนค่าด้วย appType=thirdParty โดยใช้ URL client ID เป็นรหัสแอปพลิเคชัน
จัดการการอนุญาตแอป third-party ใน Console
ใน Logto Console ใช้หน้ารายละเอียดผู้ใช้เพื่อดูและเพิกถอนแอป third-party ที่ได้รับอนุญาต
เพิกถอน grant เมื่อเพิกถอนเซสชัน
เมื่อเพิกถอนเซสชันผ่าน DELETE /api/my-account/sessions/{sessionId} ให้ใช้พารามิเตอร์ query revokeGrantsTarget เพื่อควบคุมขอบเขตการเพิกถอน grant:
all: เพิกถอน grant สำหรับทุกแอปที่เกี่ยวข้องกับเซสชันfirstParty: เพิกถอน grant เฉพาะสำหรับแอป first-party
สำหรับพฤติกรรมในระดับเซสชันและบริบทของ endpoint ดู จัดการเซสชันผู้ใช้ และ การออกจากระบบ
แหล่งข้อมูลที่เกี่ยวข้อง
เซสชัน จัดการเซสชันผู้ใช้การตั้งค่าบัญชีโดย Account API: จัดการแอปที่ผู้ใช้ได้รับอนุญาต (grants)
การตั้งค่าบัญชีโดย Management API: จัดการแอปที่ผู้ใช้ได้รับอนุญาต (grants)