1

大家好,首先感谢,

我有一个具有 .NET Core 2 API 和 Angular 8 客户端应用程序的项目。我已经在应用程序和 api 之间实现了基于令牌的身份验证(不使用 IdentityUser 或 IdentityRole)。

现在,我必须通过 SSO 进行身份验证。我有一个 saml2 身份提供者元数据,并使用Sustainsys.Saml2.AspNetCore2包使用此元数据配置了我的 api。

现在我可以创建自己的元数据并将此元数据注册到 IdentityProvider。到目前为止一切似乎都还好,但是当我尝试从 IdentityProvider 登录页面登录时,我的 api 没有任何变化。

我脑海中的疯狂问题

在身份提供者的元数据中,只有 SSO 和 SLO 重定向 url。authnrequests 没有其他方法。(HTTP POST 等)我将如何登录此 Idp?

Idp 有自己的登录页面。如果我必须将用户重定向到这个登录页面,我会得到任何身份验证令牌或 cookie。我的 API 会在此登录时被识别吗?

在任何情况下都应该有一个身份验证数据(令牌、库克、会话 ID 等)。在向我的 API 发送请求时,我将在哪里获取这些数据来设置授权标头?

我已经尝试了一段时间,但我的最后一次尝试也不起作用。

有人可以帮忙吗?

非常感谢。

4

1 回答 1

1

您需要重定向到身份提供商,然后它将重定向回您的服务提供商 api,您可以从中设置您正在使用的任何安全机制,然后再次重定向到您的本地前端(无论您需要将您的用户)。

以下是我发现有用的一些资源:1) https://docs.microsoft.com/en-us/aspnet/core/security/authentication/?view=aspnetcore-3.1(身份验证方案如何在.Net Core中工作)

2) ASP.Net Core SAML 认证 1. https://github.com/Sustainsys/Saml2 (SAML 2.0 认证包) 2. https://stubidp.sustainsys.com/ (Free IdP – 可以用来代替本地实现,如果需要。本地实施将需要部署“Sustainsys.Saml2.StubIdp”项目)。

3) Sustainsys SAML2 Sample for ASP.NET Core WebAPI without Identity

4)https://github.com/hmacat/Saml2WebAPIAndAngularSpaExample(超级有用的示例实现)

5) 无法使用 Sustainsys 的 Saml2注销(帮助注销以使用https://stubidp.sustainsys.com

6) https://www.nuget.org/packages/Sustainsys.Saml2.AspNetCore2/

于 2020-05-25T15:41:37.783 回答