【发布时间】:2021-08-14 16:40:59
【问题描述】:
我尝试使用 Saml2LogoutRequest 向 IDP 发送注销请求。它正在从我们作为 params 传递的主体中读取声明值。但是在代码中,他们根据 itfoxtec 的硬编码值读取声明值,而我们有自己的声明名称类型和名称 ID 类型。如何解决?
【问题讨论】:
我尝试使用 Saml2LogoutRequest 向 IDP 发送注销请求。它正在从我们作为 params 传递的主体中读取声明值。但是在代码中,他们根据 itfoxtec 的硬编码值读取声明值,而我们有自己的声明名称类型和名称 ID 类型。如何解决?
【问题讨论】:
您可以使用不带 ClaimsPrincipal 参数的 Saml2LogoutRequest 构造函数。创建后,可以使用 NamenID、NameIDFormat 和 SessionIndex 填充 Saml2LogoutRequest 对象。
var saml2LogoutRequest = new Saml2LogoutRequest(config);
saml2LogoutRequest.NameId = new Saml2NameIdentifier("..NameID..", new Uri("..NameIDFormat.."));
saml2LogoutRequest.SessionIndex = "..SessionIndex..";
【讨论】: