【问题标题】:Manually store Crowd SSO token in cookie?手动将 Crowd SSO 令牌存储在 cookie 中?
【发布时间】:2012-11-14 05:26:46
【问题描述】:

我正在尝试使用 Atlassian Crowd 实施 SSO,但令人惊讶的是,缺乏良好的文档甚至示例。

到目前为止,我使用 CrowdClient.authenticateSSOUser 对用户进行身份验证,如果成功则返回 SSO 令牌(字符串)。然后,我自己(通过 HttpServletResponse)获取这个令牌并将其填充到 cookie 中。在随后的页面访问中,我抓取所有 cookie,搜索这个,然后在其上调用 CrowdClient.validateSSOAuthentication 方法。

我的问题是:我应该为 SSO 使用更多的 Crowd 代码吗?我的手动操作似乎比我预期的要多。

...我确实看到了其他可能性的提示...例如:

  1. 在 crowd.properties 中,您可以指定 crowd.token_key,这显然是应用程序在 cookie 中存储令牌时应使用的名称(尽管设置此值不会神奇地实现)。

  2. 最新版本中存在 CrowdHttpTokenHelper 之类的内容 - 但似乎没有容易找到的相关示例(或 JavaDoc 以外的文档)。

【问题讨论】:

    标签: single-sign-on atlassian-crowd


    【解决方案1】:

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

    对于现成的实现,您可能需要查看Integrating Crowd with Spring Security。

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

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

    【讨论】:

      猜你喜欢
      • 2015-09-15
      • 2016-09-13
      • 2020-07-04
      • 2021-10-16
      • 2013-09-03
      • 2019-02-14
      • 2021-10-07
      • 2021-10-08
      • 1970-01-01
      相关资源
      最近更新 更多