如何从服务器设置 JWT 令牌

问题描述 投票:0回答:1

我有一个使用 Angular 作为前端、DRF 作为后端的产品。它使用 JWT 令牌进行身份验证。目前,我将 SAML SSO 添加到产品中,在 acs 端点,我能够验证 saml 响应(IDP 发起)并验证用户。我已经针对用户创建了 JWT 令牌。现在如何在重定向到角度应用程序的登陆页面时发送 JWT 令牌(当用户使用密码登录时,发送 HTTP post 请求来验证密码,在 HTTP 响应中设置令牌)。但现在 UI 没有请求发送令牌作为响应。我无法在重定向请求中将 JWT 作为查询参数发送(安全风险?)。建议一种在浏览器上设置令牌的方法。

angular django-rest-framework jwt single-sign-on saml
1个回答
0
投票

如何在应用程序之间共享代币

塞纳里奥

有两个应用程序,应用程序A和应用程序B

  • App A负责用户的授权和认证,并提供token给用户使用A、Bapps

  • 应用程序B是一个独立的应用程序,与经过身份验证的用户共享一些数据。

  • 应用程序 B 依赖应用程序 A 来识别用户。

  • 应用程序B没有任何登录页面或注册页面!

  • 要访问AppB,用户必须通过AppA登录,登录成功后,用户将被重定向到AppB

    的登陆页面

问题是如何向应用程序B提供访问令牌

解决方案

  1. 将令牌添加到重定向 URL 查询参数。
  2. 将用户标识符添加到重定向网址查询参数
  3. 实现一个登录表单,向应用程序A发出登录请求。
  4. 只有这些方法!

安全问题

HTTPS
  • 您可以通过 url-query-params 共享令牌。
HTTP
  • 不要通过 URL-query-params 共享令牌,而是使用 temporary 用户标识符。
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.