我有自定义STS实现。目前,它已配置为Azure ACS上的其他身份提供程序。我有一个通过ACS(Windows Live,Google等)成功验证的依赖方网站。但是,每当我尝试使用自定义STS登录时,我总是会收到错误401.
我搜索了论坛,但在我的情况下,我没有得到任何关于错误的细节,也不知道如何继续解决这个问题。
我的STS目前处于测试阶段,可以在此处访问:metadata。
如果有人有任何建议或想尝试一下,请通过电子邮件与我联系,我将在我的自定义提供商处打开演示登录。
注意:此案例与here发现的类似问题不同,因为我的内部异常详情没有任何理由。
更新:检查此thread中的讨论,了解我从fiddler提取的其他信息和有效负载。
提前致谢,
康斯坦丁
答案 0 :(得分:3)
我终于借助Azure上的ms支持来解决这个问题。
似乎“ACS50008:SAML令牌无效”错误是非常通用的,并且通常在内部异常中有更多信息不会在错误屏幕上结束。为什么会发生这种情况对我来说仍然是一个谜。
因此,对于碰巧在我位置的任何人,我指出了两个可能的原因。
<saml:Conditions NotBefore="...." NotOnOrAfter="....">
如果是这种情况,您可以尝试将生命周期设置为(现在 - 缓冲时间,例如5分钟)到现在+ 1小时。Microsoft.Cloud.AccessControl.Common.Diagnostics.SignInException: ACS20001:处理WS-Federation登录时发生错误 response.Microsoft.Cloud.AccessControl.Common.Diagnostics.ServiceException :ACS50008:SAML令牌是 invalid.Microsoft.IdentityModel.SecurityTokenService.IssuerNameNotSupportedException :名称为“ https://login.mydomain.com/ ”的主体并不为人所知 主体。
在我的情况下,主体名称不应包含最后的正斜杠。我们将其从https://login.mydomain.com/更改为https://login.mydomain.com,错误消失了!
答案 1 :(得分:1)
您始终可以与Microsoft一起创建支持案例并让他们帮助解决问题: https://support.microsoft.com/oas/default.aspx?&c1=501&gprid=14928&&st=1&wfxredirect=1&sd=gn