0

我正在尝试让一个测试应用程序与 AWS 单点登录服务一起使用。当我点击 SSO 登录 url 并输入我的凭据时,它登录正常,但随后亚马逊显示错误:

Requeest nameID format does not match our record

请求 nameID 格式与我们的记录不匹配

我的请求包含:

<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" AllowCreate="true" />

亚马逊为我的应用程序提供的 IdP 元数据 xml 有一个空白<md:NameIDFormat/>标签。我猜这与它有关。但是,我在 Amazon UI 中的任何地方都没有看到nameIDFormat可以指定的地方。

我的问题:

  1. 我如何/在哪里可以指定nameIDFormat我的 AWS SSO 应用程序接受的?这是假设空白<md:NameIDFormat/>是(部分)问题。也许这与问题无关,在这种情况下:
  2. 上面的错误信息是什么意思?
4

2 回答 2

1

我遇到了同样的问题,与 Twilio 的技术支持人员交谈,他们让我使用了一个插件,可以让你跟踪 SAML 的东西 - > https://chrome.google.com/webstore/detail/saml-tracer/mpdajninpobndbfcldcmbpnnbhibjmch

一旦我纠正了我的问题,nameid-format:unspecified to emailAddress 它就起作用了!

在此处输入图像描述

于 2021-02-26T16:44:13.830 回答
1

您可以在 AWS SSO“应用程序”页面更改 NameID 格式:

  1. 转到 AWS SSO->应用程序->我的应用程序名称
  2. 设置${user:subject}为属性值(第二列)并在第三列中选择必要的 NameID 格式。

AWS SSO->应用程序->我的应用程序名称

完成此操作后,您可以通过 NameIDPolicy 标签发送相应的 NameID 格式:

<saml2p:NameIDPolicy 
        Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/>

顺便说一句:通过使用 NameIDPolicy 标签,SP 从 IdP 请求相应的 NameID 格式(电子邮件、瞬态、持久性等)。您的 AWS IdP 没有请求的映射,并且不知道默认情况下应返回什么或允许什么,并引发您看到的错误。

于 2021-02-12T22:03:43.547 回答