在wso2 api manager中,有一个Token API可用于撤消客户端的特定令牌 . 这适用于在注销等过程中处理令牌撤销的应用程序 .
但是当我不想让用户再使用API时,如何撤销特定用户的所有令牌?例如,当我从我的服务中删除用户帐户时 .
是否存在可以从第三方应用程序调用api管理器的ani API,其中包含用户被删除的信息,因此api manager应该使用户的令牌无效 .
在WSO2 API管理器中,为应用程序生成访问令牌 . 当用户打算使用API时,他/她首先需要通过为该特定API创建应用程序来订阅该API .
因此,如果您需要撤销特定令牌,则应该为应用程序执行此操作 . WSO2 API Manager的Token API提供了一种撤销令牌的方法 .
curl -k -v -d "token=<ACCESS_TOKEN_TO_BE_REVOKED>" -H "Authorization: Basic <base64 encoded (clientId:clientSecret of the application)>" -H "Content-Type: application/x-www-form-urlencoded" https://localhost:8243/revoke
AFAIK,有 no straight forward option 删除特定用户的密钥,因为用户通过应用程序订阅了apis .
但是,您可以通过在 IDN_OAUTH2_ACCESS_TOKEN 表中删除该特定用户的数据库条目来执行此操作,其中存储了所有访问令牌信息 .
IDN_OAUTH2_ACCESS_TOKEN
有关Token api的更多信息,请参阅以下文档 .
https://docs.wso2.com/display/AM210/Token+API
相关说明:如果要阻止用户访问API,可以使用黑名单功能 .
见https://docs.wso2.com/display/AM210/Managing+Throttling#ManagingThrottling-Blacklistingrequests
2 回答
在WSO2 API管理器中,为应用程序生成访问令牌 . 当用户打算使用API时,他/她首先需要通过为该特定API创建应用程序来订阅该API .
因此,如果您需要撤销特定令牌,则应该为应用程序执行此操作 . WSO2 API Manager的Token API提供了一种撤销令牌的方法 .
AFAIK,有 no straight forward option 删除特定用户的密钥,因为用户通过应用程序订阅了apis .
但是,您可以通过在
IDN_OAUTH2_ACCESS_TOKEN
表中删除该特定用户的数据库条目来执行此操作,其中存储了所有访问令牌信息 .有关Token api的更多信息,请参阅以下文档 .
https://docs.wso2.com/display/AM210/Token+API
相关说明:如果要阻止用户访问API,可以使用黑名单功能 .
见https://docs.wso2.com/display/AM210/Managing+Throttling#ManagingThrottling-Blacklistingrequests