自定义STS和Azure ACS错误ACS50008:无效的SAML令牌

自定义STS和Azure ACS错误ACS50008:无效的SAML令牌

问题描述:

我有一个自定义的STS实现。目前,它在Azure ACS上配置为附加身份提供程序。我有一个通过ACS(Windows Live,Google等)成功验证的依赖方网站。但是,每当我尝试使用我的自定义STS登录我总是得到错误401自定义STS和Azure ACS错误ACS50008:无效的SAML令牌

  • 错误代码ACS20001:发生错误,而处理WS-联合会登录响应。
  • 错误代码ACS50008:SAML令牌无效。

我已经通过了论坛搜索,但我的情况下,我不明白的错误任何更多的细节,不知道如何着手和解决这个问题。

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

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

注:的情况是不同的,比同类问题发现here,因为我的内心异常细节没有提出任何理由。

UPDATE:检查本thread讨论了一些额外的,情报和我从小提琴手中提取的有效载荷。

由于提前,

康斯坦丁

+0

我可以看看,给我发一封电子邮件。如果我能弄清楚什么是错的,我会发布一个答案。 – 2012-02-13 19:07:13

我终于与MS的帮助想通了这一点支持Azure。

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

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

  1. 原因:客户端的时间不匹配ACS的时间,即NotBefore下面是当ACS看着未来的时间点。 操作:​​如果是这种情况,您可以尝试将生存期设置为(现在 - 缓冲时间,例如5分钟)至现在+ 1小时。
  2. 原因:一个隐藏的内部异常,只有在ms支持使用您的错误的trackingId的帮助下才能看到。

Microsoft.Cloud.AccessControl.Common.Diagnostics。SignInException: ACS20001:发生错误,而处理WS-联合会登录 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,错误消失了!

您可以随时与微软创建支持的情况下,让他们帮助弄明白: https://support.microsoft.com/oas/default.aspx?&c1=501&gprid=14928&&st=1&wfxredirect=1&sd=gn