Gor*_*ren 1 authentication cookies opensso openam
我目前正在使用 openAM 来保护我的一个使用 Java EE Web 代理的小型 Web 应用程序。有人试图访问该应用程序,他们被重定向到 openAM 实例,他们登录,然后转到该应用程序。简单的东西。
我想要的是 openAM 将成功使用的用户名传递给网络应用程序。我的理解是应该为此使用“会话属性”。在管理员中,我转到我的 Java EE webagent 并打开“应用程序”选项卡以查看“会话属性处理”。我看到 HTTP_COOKIE 是获取的选择。
1) 如果正确设置,我是否应该期望在 cookie 中以明文形式看到用户名?2)我在会话映射中输入什么值来获取用户名?如何在数据存储中找到与此对应的值?
谢谢
我们在代理中使用 HTTP_HEADER。因此,如果您已经在使用代理(听起来像您),那么以下内容应该适合您。在 OpenAM Web 控制台中:
在您的 Web 应用程序中,检索 HTTP 标头元素并查找令牌。它应该看起来像这样:AQIC5wM2LY4RfckcedfzxGrgVYevbKR-SgBkuemF4Cmm5Qg。AAJTSQABMDE。
然后,您可以使用 OpenAM REST 接口来验证和检索与令牌关联的属性,例如用户名、密码、cn 等。要检索所有属性,URL 将如下所示:
http://<OpenAM_Host>:<Port>/<deploy_uri>/identity/attributes?subjectid=AQIC5wM2LY4RfckcedfzxGrgVYevbKR-SgBkuemF4Cmm5Qg.*AAJTSQABMDE.*
Run Code Online (Sandbox Code Playgroud)
您还可以像这样指定所需的属性:
http://<OpenAM_Host>:<Port>/<deploy_uri>/identity/attributes?subjectid=AQIC5wM2LY4RfckcedfzxGrgVYevbKR-SgBkuemF4Cmm5Qg.*AAJTSQABMDE.*&attributenames=uid&attributenames=userpassword
Run Code Online (Sandbox Code Playgroud)
参考资料:
https : //wikis.forgerock.org/confluence/display/openam/Use+OpenAM+RESTful+Services
http://openam.forgerock.org/openam-documentation/openam-doc-source/doc/dev-guide /index/chap-rest.html