【问题标题】:SSO With AngularJS, get user detailsSSO 使用 AngularJS,获取用户详细信息
【发布时间】:2016-04-13 11:39:20
【问题描述】:

考虑这种情况:

我点击了一个基于 AngularJS 的 UI url,它在新的浏览器窗口中受到 SSO 保护,例如。 https://somedev.domain.com

这会向上述 url 发出 GET 请求。现在,浏览器提示我输入用户名和密码以进行身份​​验证,因为从 https://somedev.domain.com 重定向到 https://sso.domain.com

我输入详细信息,成功时https://sso.domain.com 通过在浏览器上设置 cookie 进行响应,并在响应标头中发回登录用户的用户详细信息,例如用户名,然后加载 UI 页面。

AngularJS 中有没有办法拦截这个响应并获取登录用户的详细信息?

PS。我可以使用 $cookie 访问设置的 cookie。

【问题讨论】:

    标签: javascript angularjs authentication cookies single-sign-on


    【解决方案1】:

    这在很大程度上取决于您用于 SSO 的技术。 OAuth 具有一种机制,通过该机制将密钥返回到原始页面,该密钥可用于访问身份验证服务以检索用户信息。

    基于您对环境的有限了解,最普遍接受的解决方案是利用angular-cookies.js 模块并使用$cookies 直接访问cookie。我假设 cookie 不会包含任何用户信息,因为这些通常只是会话标识符,但您可以使用 cookie 会话标识符向 SSO 服务器发出请求并请求用户信息。

    请注意,SSO 服务器需要生成域通用的 cookie,这意味着它们不指定子域。

    【讨论】:

      猜你喜欢
      • 2013-01-19
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多