我试图在我的公司实现一个IDP启动的登录程序,我们雇佣一个平台为我生成一个SAML响应,并将它发布到我的后端(.NET Core3.1)。
这个SAML响应是一个Base64哈希,并且已经转换为XML。在这个场景中,库有一些处理SAML响应的特定方法吗?
谢谢!
发布于 2022-04-26 19:34:23
这或多或少是TestWebAppCore示例期望在AssertionConsumerService法中增强的samme。代码显示一个post绑定,如果authn响应作为查询参数发送,则可以将其更改为重定向。
var binding = new Saml2PostBinding();
var saml2AuthnResponse = new Saml2AuthnResponse(config);
binding.ReadSamlResponse(Request.ToGenericHttpRequest(), saml2AuthnResponse);
if (saml2AuthnResponse.Status != Saml2StatusCodes.Success)
{
throw new AuthenticationException($"SAML Response status: {saml2AuthnResponse.Status}");
}
binding.Unbind(Request.ToGenericHttpRequest(), saml2AuthnResponse);
await saml2AuthnResponse.CreateSession(HttpContext, claimsTransform: (claimsPrincipal) => ClaimsTransform.Transform(claimsPrincipal));
var relayStateQuery = binding.GetRelayStateQuery();
//var some_value = relayStateQuery.ContainsKey("some_key");
return Redirect("...some_url..."); https://stackoverflow.com/questions/71943237
复制相似问题