WSO2:如何注销已获得'rememberMeCookie'的用户

时间:2013-07-01 11:18:16

标签: authentication soap wso2 logout wso2is

我正在使用WSO2 Identity Server 4.1.0来执行基本身份验证。可以调用AuthenticationAdmin webservice,其中包含“loginWithRememberMeOption”。然后,用户将获得一个“rememberMeCookie”,即使他的会话(JSESSION)已过期,他也可以登录。“

我了解到loginWithRememberMeOption也有一个超时:7天,而且这次不能修改:WSO2 Authentication, adding/modifing timeout to the RememberMe cookie

AuthenticationAdmin服务还提供“注销”操作。不幸的是,此操作只会使会话无效。因此,如果用户拥有rememeberMeCookie,他仍然可以登录:WSO2 AuthenticationAdmin Logout

问题是,如何注销已获得rememeberMeCookie的用户?最好使用AuthenticationAdmin?

1 个答案:

答案 0 :(得分:0)

根据我的理解,没有直接的方法来注销记住我cookie的用户。

我仔细检查了代码。登录并记住我选项后,会生成UUID。请参阅AuthenticationAdmin

中的org.wso2.carbon.core.services.authentication.AuthenticationAdmin.loginWithRememberMeOption(String, String, String)方法

然后将cookie保存在数据库中。当您使用remember me cookie登录时,将从用户存储中检查cookie。请参阅org.wso2.carbon.user.api.UserStoreManager.isValidRememberMeToken(String, String)。您可以查看JDBC implementation

因此,为了注销,您可能必须从用户存储中清除cookie。

如果您认为添加清除Cookie的方法可能有用,请报告JIRA问题。