0

我定义了多个身份提供程序以与我的 AuthServices 一起使用,他们每个人都向我的 AssertionService 发送一个 SamlResponse,因为应该然后重定向到我的 RedirectUrl,如 Sustainsys.Saml2.StubIdp 示例中定义的“ExternalLoginCallback”。我无法知道身份提供者的女巫返回了 externalIdentity,我必须检查当前用户是否属于此 idp。

我希望我不必强迫他们发送带有 Idp Id 或类似内容的特殊声明。

是否存在将 Acs 之间的 entityId 传递给我的回调操作的方法?

谢谢

4

1 回答 1

1

好的,我找到了答案...

我从 Claim Issuer 中提取 idp id,如下所示:

 var externalIdentity = context.Authentication.GetExternalIdentity(ExternalCookie.Name);
 var  idp = externalIdentity.FindFirst(AuthServicesClaimTypes.LogoutNameIdentifier)?.Issuer;
于 2018-01-10T10:47:56.387 回答