Kents在Acs ReturnUrl之后识别身份提供者

时间:2018-01-10 10:18:31

标签: kentor-authservices

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

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

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

感谢

1 个答案:

答案 0 :(得分:1)

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

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

 var externalIdentity = context.Authentication.GetExternalIdentity(ExternalCookie.Name);
 var  idp = externalIdentity.FindFirst(AuthServicesClaimTypes.LogoutNameIdentifier)?.Issuer;