【问题标题】:SAML Based SSO between Angular App and Another Java/Servlet/JSP AppAngular 应用程序和另一个 Java/Servlet/JSP 应用程序之间基于 SAML 的 SSO
【发布时间】:2021-10-14 09:18:05
【问题描述】:

我有一个场景,其中用户登录和凭据在客户端 IDP 中维护。作为服务提供商,我们有 2 个 Web 应用程序。

  1. App-1:在 Angular 9 中开发
  2. App-2:它是一个 COTS 产品,其中 Web 应用程序是一个运行在 WebSphere Application Server 上的 Servlet JSP 应用程序。

现在,第二个应用程序不支持 SP 发起的身份验证。因此,我们正在考虑的流程是:

  • 第 1 步:用户访问 Angular 应用程序
  • 第 2 步:Angular App 将所有用户存储和维护在系统中(登录凭据除外)
  • 第 3 步:Angular App 将用户路由到 User IdP (Azure AD) 以通过 OIDC 进行身份验证,并将带有用户 ID 和角色详细信息的 Token 返回给 Angular App。
  • 第 4 步:Angular App 从应用程序数据库中检索所有用户属性。
  • 第 5 步:现在 Angular App 将创建一个 SAML 请求并将其发送到 App-2。

上述流程是否可行,是否可以分享一些关于如何从 Angular 为 App-2 SSO 设置 SAML 生成的文档链接。

【问题讨论】:

    标签: angular websphere single-sign-on saml-2.0


    【解决方案1】:

    如果您使用的是 IdP 发起的流程,则第 5 步是 App-1 从 SP 切换到 IdP 的地方。 App-1 创建一个包含用户身份验证信息和属性的 SAML 响应。不应将特定于 Azure 的属性发送到 App-2,因为它与该 IdP 没有关系。它仅与作为 IdP 的 App-1 有关系。

    一个示例 SAML 响应是 here。 App-2 需要拥有 App-1 的 SAML 元数据才能验证签名等。您可以构建 IdP SAML 元数据here

    但是,请注意the dangers of IdP initiated SSO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 2018-11-24
      • 2015-01-23
      • 2011-10-30
      • 2016-02-01
      相关资源
      最近更新 更多