要解决这个问题,你需要在ADFS中配置它将来自Claim提供程序的声明传递到SAML响应中。以下是一个示例代码,展示了如何使用ADFS管理PowerShell模块来配置这个设置:
# 导入ADFS管理模块
Import-Module ADFS
# 连接到ADFS服务器
Connect-AdfsFarm
# 获取当前的声明传递策略
$claimRule = Get-AdfsRelyingPartyTrust -Name "YourRelyingPartyTrustName" | Get-AdfsClaimsProviderTrust -Name "YourClaimsProviderTrustName" | Get-AdfsClaimsProviderRule -Name "YourClaimsProviderRuleName"
# 修改声明传递策略,将声明传递到SAML响应中
$claimRule.PassThroughClaimType = $true
# 更新策略
Set-AdfsClaimsProviderRule -ClaimsProviderRule $claimRule
# 断开与ADFS服务器的连接
Disconnect-AdfsFarm
请注意,你需要将示例中的"YourRelyingPartyTrustName"、"YourClaimsProviderTrustName"和"YourClaimsProviderRuleName"替换为你实际使用的名称。
这样,ADFS将会将来自Claim提供程序的声明传递到向RP发送的SAML响应中。
上一篇:ADFS安装遇到SSL证书失败
下一篇:ADFS登录出现错误,错误信息为Microsoft.IdentityServer.Web.UnsupportedSamlRequestException。