在wso2 api manager中,有一个Token API可用于撤消客户端的特定令牌。这适用于在注销等过程中处理令牌撤销的应用程序。
但是当我不想让用户再使用API时,如何撤销特定用户的所有令牌?例如,当我从我的服务中删除用户帐户时。
是否有可以从第三方应用程序调用到api管理器的ani API,其中包含用户被删除的信息,因此api manager应该使用户的令牌无效。
答案 0 :(得分:0)
在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,有 没有直接选项 来删除特定用户的密钥,因为用户通过应用程序订阅了apis。
但是,您可以通过在IDN_OAUTH2_ACCESS_TOKEN
表中删除该特定用户的数据库条目来执行此操作,其中存储了所有访问令牌信息。
有关令牌api的更多信息,请参阅以下文档。
答案 1 :(得分:0)
相关说明:如果您想阻止用户访问API,您可以使用黑名单功能。
请参阅https://docs.wso2.com/display/AM210/Managing+Throttling#ManagingThrottling-Blacklistingrequests