繁体   English   中英

如何在 Angular 8 应用程序中使用 SAML 身份验证?

[英]How to use SAML authentication in angular 8 application?

我想在 Angular 8 中实现基于SAML的身份验证,因为我在 C# 中看到了实现

https://github.com/jitbit/AspNetSaml

首先它重定向到身份提供者 URL 并获得SAML response ("assertion") 我如何接收和验证通过 POST 从身份provider(Okta)收到的SAML response ("assertion") provider(Okta)我想在 Angular 8 中完成整个工作,所以请帮助我。

我假设,您知道使用服务器端应用程序实现 SAML。<\/em>

我认为在实现 SAML 时,角度应用程序不会被视为 SP(服务提供者),因为角度应用程序完全是客户端应用程序。您必须使用任何服务器端语言(ASP.Net 或任何其他语言)创建 SP。在那里,您可以发送请求并从 IdP(身份提供者)获得响应。

在 SP 获得 SAML 断言并对其进行验证后,您可以将其存储在数据库中(SQL 或任何其他)。然后,您可以使用 SQL 表行 ID 重定向到 Angular 应用程序。在 Angular 应用程序中,使用此行 ID,您可以获取 JWT 形式的 SAML 断言。

Angular 应用程序链接: https<\/a> : \/\/myangularapp.com\/auth<\/a>

服务提供商链接: https<\/a> : \/\/dotnetapp.com\/sendSAMLRequest<\/a>

身份提供者链接: https<\/a> : \/\/identityprovider.com\/<\/a>

上面的链接仅供理解,它们不起作用。

流程如下。 Angular 应用程序中的 SAML<\/a> Angular App -> 服务提供者 -> 身份提供者

第 1 步:从 Angular 应用程序,重定向到带有一些 GUID 的 SP 以保持对请求的跟踪。

重定向到 => https:\/\/dotnetapp.com\/request?id=guidabcd42564<\/a>

第 2 步:从 SP 向 IdP 发送具有上述 GUID 的 SAML 请求。

第 3 步:IdP 评估 SAML 请求并向 SP 发送 SAML 响应。

第 4 步:在 SP,验证 SAML 响应并将其存储在 SQL 中。然后重定向到角度应用程序https:\/\/myangularapp.com\/getSAMLResponse?id=123<\/a>

之后,在 Angular 应用程序中,您可以使用行 ID(在本例中为 123)从数据库获取 SAML 响应并将其存储在本地存储中。

"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM