管理用户授权应用(授权记录)
应用授权(grants)代表用户对特定客户端应用的授权状态。
当用户或管理员需要查看已授权的应用并撤销应用访问权限(而不影响整个 Logto 会话)时,可以使用授权管理。
当授权被撤销时,之前颁发的该授权的不透明访问令牌(opaque access tokens)和刷新令牌(refresh tokens)将失效。JWT 访问令牌(access tokens)是无状态的,因此已颁发的令牌会一直有效,直到过期为止。
选择正确的路径
| 场景 | 推荐路径 |
|---|---|
| 让已登录用户自行管理其应用授权 | Account API |
| 让管理员或支持团队为目标用户管理授权 | Management API |
| 让运维人员在界面中管理第三方应用授权 | 管理控制台 |
直接授权管理 API
Account API(自助服务)
在终端用户账户设置页面使用 Account API:
GET /api/my-account/grantsDELETE /api/my-account/grants/{grantId}- 参考:通过 Account API 管理用户授权应用(授权记录)
Management API(管理工具)
在管理工具和支持流程中使用 Management API:
GET /api/users/{userId}/grantsDELETE /api/users/{userId}/grants/{grantId}- 参考:通过 Management API 管理用户授权应用(授权记录)
按应用类型筛选授权列表
授权列表接口支持可选查询参数 appType:
appType=firstParty:仅列出第一方应用授权。appType=thirdParty:仅列出第三方应用授权。- 省略
appType:返回所有活跃授权。
动态应用 客户端属于第三方应用,因此它们的授权会以 appType=thirdParty 返回。客户端 ID URL 用作应用 ID。
在控制台管理第三方应用授权
在 Logto 控制台中,可以通过用户详情页查看和撤销已授权的第三方应用。
- 参考:管理用户授权的第三方应用
撤销会话时同步撤销授权
通过 DELETE /api/my-account/sessions/{sessionId} 撤销会话时,可以使用可选查询参数 revokeGrantsTarget 控制授权撤销范围:
all:撤销与该会话关联的所有应用授权。firstParty:仅撤销第一方应用授权。
相关资源
会话 管理用户会话通过 Account API 账户设置:管理用户授权应用(授权记录)
通过 Management API 账户设置:管理用户授权应用(授权记录)