【问题标题】:Cognito validation SAML - what is userName constraint?Cognito 验证 SAML - 什么是用户名约束?
【发布时间】:2018-09-24 00:37:00
【问题描述】:

我在我的 Cognito 用户池上调用 SAML 授权端点,一旦我通过我的其他提供商登录,我在重定向回我的网站时收到此错误:

Error in SAML response processing: 1 validation error detected: Value ' ... ... ' at 'userName' failed to satisfy constraint: Member must have length less than or equal to 128

这是什么约束?我没有看到有关此特定约束的任何文档。我该如何解决这个问题?

【问题讨论】:

    标签: amazon-web-services saml amazon-cognito endpoint


    【解决方案1】:

    https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-attribute-mapping.html

    我认为这就是原因:

    目前,只有 Facebook id、Google sub 和 Login with Amazon user_id 属性可以映射到 Amazon Cognito 用户池用户名属性。

    用户池中的属性必须足够大以适合映射的身份提供者属性的值,否则用户登录时会出错。如果映射到身份提供者令牌,自定义属性应设置为最大 2048 个字符大小.

    【讨论】:

    • 那么哪个属性从 SAML 映射到用户名属性?
    • 默认 NameID 用于映射。因此,他们的文档在技术上并不正确,因为 OIDC 和 SAML 确实映射到默认用户名属性(即使您提供自定义映射,您似乎也无法通过映射界面更改该属性)。我最终询问了我使用的 SAML IdP 来更改他们提供给 Cognito SP 的值(作为默认 NameID)。
    • @AndrewKarpenko 您要求他们使用哪个值而不是默认值?
    • @nmarchini 这取决于你。它只需要对个人来说是唯一的,不能改变(否则改变时会破坏身份关系)。例如。您应该映射到员工 ID,而不是员工姓氏。请参阅此处的 NameID 格式,例如 wiki.cac.washington.edu/display/infra/… 您的 IdP 可能不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2010-09-22
    • 2015-01-11
    相关资源
    最近更新 更多