我正在尝试设置 Windows Azure Pack 管理站点并使用 ADFS 身份验证。我按照 TechNet 提供的安装清单进行操作 (http://technet.microsoft.com/en-us/library/dn469338.aspx)。ADFS 在我们的环境中对许多其他应用程序都运行良好。但在这里我会收到一个服务器错误:
SecurityTokenValidationException: ID4220: The SAML Assertion is either not signed or the signature's KeyIdentifier cannot be resolved to a SecurityToken. Ensure that the appropriate issuer tokens are present on the token resolver. To handle advanced token resolution requirements, extend SamlTokenSerializer and override ReadToken.
配置数据库知道正确的令牌签名证书,但是应用程序总是会向我抛出错误 500。
答案1
嗯,我解决了这个问题。
Microsoft 的部署指南(http://technet.microsoft.com/en-us/library/dn469336.aspx),关于如何使用 ADFS 部署 Windows Azure Pack 遗漏了一个小事实。依赖方必须将 EnableJWT 设置为 true。感谢您在手册中对此进行精确说明...
以下是调整 RP 的 Powershell 代码片段
Set-AdfsRelyingPartyTrust -TargetIdentifier http://azureservices/AdminSite -EnableJWT $true