簡體   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