定制STS& Azure ACS错误ACS50008:无效的SAML令牌

时间:2012-02-13 13:00:32

标签: azure federated-identity acs

我有自定义STS实现。目前,它已配置为Azure ACS上的其他身份提供程序。我有一个通过ACS(Windows Live,Google等)成功验证的依赖方网站。但是,每当我尝试使用自定义STS登录时,我总是会收到错误401.

  • 错误代码ACS20001:处理WS-Federation登录响应时出错。
  • 错误代码ACS50008:SAML令牌无效。

我搜索了论坛,但在我的情况下,我没有得到任何关于错误的细节,也不知道如何继续解决这个问题。

我的STS目前处于测试阶段,可以在此处访问:metadata

如果有人有任何建议或想尝试一下,请通过电子邮件与我联系,我将在我的自定义提供商处打开演示登录。

注意:此案例与here发现的类似问题不同,因为我的内部异常详情没有任何理由。

更新:检查此thread中的讨论,了解我从fiddler提取的其他信息和有效负载。

提前致谢,

康斯坦丁

2 个答案:

答案 0 :(得分:3)

我终于借助Azure上的ms支持来解决这个问题。

似乎“ACS50008:SAML令牌无效”错误是非常通用的,并且通常在内部异常中有更多信息不会在错误屏幕上结束。为什么会发生这种情况对我来说仍然是一个谜。

因此,对于碰巧在我位置的任何人,我指出了两个可能的原因。

  1. 原因:客户端与ACS时间不匹配的时间,即下面的NotBefore是ACS查看的未来时间。 操作: <saml:Conditions NotBefore="...." NotOnOrAfter="...."> 如果是这种情况,您可以尝试将生命周期设置为(现在 - 缓冲时间,例如5分钟)到现在+ 1小时。
  2. 原因:隐藏的内部异常,只有在使用错误的trackingId的ms支持的帮助下才能看到。
  3.   

    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