从 SAML 断言生成令牌

问题描述

我有这个仓库:https://github.com/oktadeveloper/okta-spring-boot-saml-example用户登录身份提供商(okta、azure AD、...)后,用户可以访问网站。

流程是:

  1. 网站请求 SAML 断言
  2. 用户使用用户名和密码登录
  3. 身份提供者返回 SAML 断言
  4. 服务器使用 SAML 断言向 /saml/sso 发出 post 请求以进行身份​​验证

我有一个问题:我如何从 ReactJS 获取 SAML 断言并将 SAML 断言发送到 springboot 以获取访问令牌。

感谢您的阅读!

解决方法

OAuth 的 SAML 不记名断言流程确实有助于使用 SAML 断言获取 OAuth 令牌(访问令牌),如下所述:https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-token-exchange-saml-oauth

,

经过一些头脑风暴,

我使用 spring mvc 创建一个页面:server.com/sso,Angular 将重定向到 server.com/sso,在用户向 microsoft AD 提供凭据后,我将根据 SAML 断言中的信息生成令牌,然后发送通过重定向将其转换为 Angular。

谢谢。