WSO2 OAuth2:如何使用 AppAuth iOS 注销

Posted

技术标签:

【中文标题】WSO2 OAuth2:如何使用 AppAuth iOS 注销【英文标题】:WSO2 OAuth2: How to logout with AppAuth iOS 【发布时间】:2017-02-11 15:14:09 【问题描述】:

我正在使用 AppAuth-ios 库 https://github.com/openid/AppAuth-iOS 通过 WSO2 服务器进行授权。我尝试过撤销令牌,但这并没有做任何事情,使用相同的 android 库 revoke 就可以完成这项工作。我需要如何正确注销用户?

我已经尝试过:

要清除 cookie commonAuthId,但我什至无法以编程方式列出该 cookie 遵循此解决方案https://***.com/a/32351144/978352 并输入类似https://localhost:9443/commonauth?commonAuthLogout=true&type=oidc&commonAuthCallerPath=http://localhost:8080/openidconnect/oauth2client&relyingParty=OpenidConnectWebapp 的类似内容,当我尝试使用nodejs 应用程序但使用AppAuth-iOS 库时它不起作用,执行时什么也不做。

【问题讨论】:

【参考方案1】:

我尝试过撤销令牌,但没有做任何事情

是的,这是真的。访问令牌撤销和从 OAuth2 授权服务器注销是两个不同的事情。在颁发访问令牌后撤销访问令牌的主要用途:用户或管理员可以在被盗或违反安全性的情况下撤销它。更多信息可以在here找到。

因此,为了终止 WSO2IS 中的 SSO 会话,您已经测试过 there is a custom way this can be achieved。由于您还注意到这适用于 Node.js OAuth2 客户端应用程序,因此 AppAuth-iOS OAuth2 客户端应该有问题。因此,最好调试 AppAuth-iOS 客户端应用程序,以便找到其根本原因。

OpenID Connect Session Management Support 随 WSO2 IS 5.2.0 及更高版本一起提供。你可以try it out。这是解决此问题的正确方法。

【讨论】:

【参考方案2】:

您可以考虑将待处理的 pull request 与仍处于 WIP 的 dev-logout 分支一起使用。

【讨论】:

以上是关于WSO2 OAuth2:如何使用 AppAuth iOS 注销的主要内容,如果未能解决你的问题,请参考以下文章

Oauth 2.0 与 Auth0 与 WSO2

WSO2 Api Manager公共本地移动应用中的OAuth2 DCR安全性

WSO2 IS - OAuth2 / OIDC提供相同的令牌

使用 Spring Security + WSO2 身份服务器的 OAuth 2.0

将AngularJS应用程序与WSO2身份服务器集成

使用 WSO2 Identity Server 和 WSO2 API Manager 保护后端