手动将 Crowd SSO 令牌存储在 cookie 中?

3
我正在尝试使用Atlassian Crowd实现SSO,但是好的文档或示例似乎很少。目前,我使用CrowdClient.authenticateSSOUser对用户进行身份验证,如果成功,则返回SSO Token(字符串)。然后,我将此令牌通过HttpServletResponse自己放入cookie中。在随后的页面访问中,我获取所有cookie,查找此cookie,然后对其调用CrowdClient.validateSSOAuthentication方法。
我的问题是:我是否应该使用更多的Crowd代码来实现SSO?我似乎手动操作的比预期要多。
...我确实看到其他可能性的提示...例如:
  1. crowd.properties 文件中,您可以指定一个 crowd.token_key,这显然是应用程序应该使用的名称,将令牌存储在 cookie 中(尽管设置此值并不能使其自动发生)。

  2. CrowdHttpTokenHelper 这样的东西存在于最新版本中 - 但似乎没有易于找到的相关示例(或除 JavaDoc 之外的文档)。

1个回答

1

是的,有可能性可以帮助或者至少作为参考。

如果需要现成的实现,您可以看一下Integrating Crowd with Spring Security

如果您需要更精细的控制,可以使用CrowdHttpAuthenticator。它将允许您使用用户名和密码进行请求验证,并检查会话是否具有现有的会话cookie。(它的具体实现将接受属性并使用crowd.token_key。)

CrowdClient可用,如果这些不符合您的需求,但这不是唯一的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接