【问题标题】:OpenAM Authentication - logoutOpenAM 身份验证 - 注销
【发布时间】:2015-05-25 21:53:23
【问题描述】:

我是 OpenAM 的初学者,我正在处理一个现有项目。

我使用此文档来改进我们的身份验证服务: http://docs.forgerock.org/en/openam/10.0.0/dev-guide/index/chap-authentication.html

登录工作正常,我收到我的令牌 ID 并将其添加到 cookie 中。当我浏览受限网页时,我会保持连接状态。

现在我想做一个干净的注销。 当您阅读有关注销的文档时,他们提出了以下代码:

    protected void logout(AuthContext lc)
    throws AuthLoginException {
    lc.logout();
    System.out.println("Logged Out!!");
}

但在我的程序中,我不再有登录 AuthContext。

有没有办法获取或创建与我的用户关联的 AuthContext ?这个调用有必要吗? (实际上,我们修改了被 OpenAM 拒绝的 cookie)

谢谢。

答案:

SSOToken ssoToken = SSOTokenManager.getInstance().createSSOToken(tokenId);
AuthContext authContext = new AuthContext(ssoToken);
authContext.logout();

【问题讨论】:

    标签: java authentication logout openam


    【解决方案1】:

    首先,我认为您应该能够通过使用this 构造函数访问会话令牌来创建一个新的 AuthContext。

    其次不需要使用ClientSDK进行远程认证,也可以使用REST APIs,可能会更轻量一些。

    【讨论】:

    • 感谢您的回答,现在我可以注销了:请参阅原帖以获得答案。关于ClientSDK,我加入了一个现有的项目,SDK无处不在,我需要更多的经验来考虑更换它。
    • 请注意,您也可以只在 SSOTokenManager 上使用 destroyToken,请参阅 download.forgerock.org/downloads/openam/javadocs/internal/com/…
    猜你喜欢
    • 2011-06-03
    • 2010-11-07
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2011-05-08
    相关资源
    最近更新 更多