angular - 从 Angular 7 项目中的第三方服务器读取 SAML 响应
问题描述
我创建了一个Angular 7项目
http://myproject.com/
如果用户未登录,我将用户重定向到另一个安全的身份验证服务器(https://secureauth.com)
以登录。这里它提示输入用户名和密码。然后它检查用户凭据。
一旦用户成功登录到安全身份验证服务器。它返回一个 SAML 响应。为此,我已将返回 URL 启用为
http://myproject.com/
在安全的身份验证服务器中。在这里,我需要处理来自我的 Angular 项目的 SAML 响应。
我有些疑惑,
我如何处理角度 7 中的 SAML 响应?因为它是一种客户端语言。是否有可能得到回应?
请分享一些关于此的想法。
解决方案
问题 1:这里我需要处理来自我的 Angular 项目的 SAML 响应。我如何处理 Angular 7 中的 SAML 响应?
答:
您需要使用 Angular 7 Web 应用程序实现 SAML SP,以处理 SAML IdP(例如 Shibboleth IdP)发送的 SAML 响应。
GitHub 存储库中带有 Angular 客户端的 SAML2.0 WebSSO是 2018 年 3 月发布的开源客户端 Angular 应用程序。
为了在您的生产环境中快速部署 SAML SP,强烈建议利用第三方 SAML SP(例如带有 Angular 客户端的 SAML2.0 WebSSO)。然后,您就有足够的时间为您的 Angular 7 Web 应用程序开发自己的 SAML SP。
问题2:因为它是一种客户端语言。是否有可能得到回应?
回答:
是的。
如果您使用 Angular 7 应用程序实现 SAML SP,Angular 7 应用程序可以获取响应、解码 SAML 响应、验证 SAML 断言签名,然后从 SAML 响应中检索用户信息以登录到您的 Angular 7 应用程序并将 SAML 用户映射到 Angular 7 应用程序的本地用户帐户。
Angular 7 项目中的 SAML SP负责从第三方 SAML IdP 服务器(例如“ https://secureauth.com ”)读取 SAML 响应。
(I) How to build and run Shibboleth SAML IdP and SP using Docker container at GitHub repository 提供了关于使用 Shibboleth SAML IdP 和 OpenLDAP 构建基于 SAML 的身份验证/授权提供程序的说明。
Shibboleth SAML IdP 负责身份联合。
OpenLDAP 负责身份认证。
这将帮助您获得有关SAML SP 如何处理第三方 SAML IdP 发送的 SAML 响应的实践经验。
(II) 我已经验证了由 Docker-running Shibboleth SAML IdP (Identity Provider) 和 OpenLDAP 为以下企业应用程序提供的 SAML 单点登录 (SSO)。换句话说,我利用 Docker 运行的 Shibboleth SAML IdP 和 OpenLDAP 成功登录到以下企业应用程序。
Microsoft Office 365
Google G Suite
Salesforce
Dropbox
Box
Amazon AWS
OpenStack
Citrix NetScaler
VMware vCloud Director
Oracle NetSuite
(III) StackOverflow 的另一个问题“如何使用 SAML 和 Shibboleth 实现或集成单点登录”提供了有关 SAML 配置的有价值的信息和讨论。
推荐阅读
- python - Flask JWT:没有 @jwt_required 的 get_jwt_identity() 总是返回 Non
- python - 将新的面部编码附加到泡菜文件
- jquery - 无法在全日历中弹出模式
- mysql - 同一 MySQL 服务器中的多个数据库
- android - 更改 TextInputLayout 的 Counter 的颜色
- python - 代理在我的 VPS 上的 python 请求中不起作用
- javascript - 如何使用 React/Firestore 获取单个文档?
- asp.net-core - 剃须刀页面项目中无法识别 Asp.net Core Tag Helpers
- visual-studio-code - Sagemath 在 vscode 中的 jupyter 中可用吗?
- c# - 如何创建链接按钮以从网格视图中删除一行