OpenAM 身份验证 - 注销

OpenAM Authentication - logout

我是 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();

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

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