AWS SSO 在 php 应用程序中使用 SAML

Posted

技术标签:

【中文标题】AWS SSO 在 php 应用程序中使用 SAML【英文标题】:AWS SSO using SAML in php application 【发布时间】:2017-02-04 21:14:04 【问题描述】:

我使用以下参考 URL 为我们的应用程序配置 AWS SSO。但我从 AWS 收到以下错误“您的请求包含无效的 SAML 响应。要注销,请单击此处”,

https://simplesamlphp.org/docs/stable/simplesamlphp-install https://simplesamlphp.org/docs/stable/simplesamlphp-idp

http://www.ipragmatech.com/aws-sso-saml2-simplesamlphp/ https://vlasenko.org/2015/04/05/howto-register-aws-saml-metadata-in-simplesamlphp/

但我不知道我在 simplesamlphp 配置中缺少什么

请帮我解决这个问题

【问题讨论】:

【参考方案1】:

Amazon AWS 故障排除指南建议检查 SAML 响应是否具有名称为 https://aws.amazon.com/SAML/Attributes/Role 的属性,其属性值是角色的 ARN 或 SAML 提供商的 ARN。

您可以使用this chrome plugin 查看您的 SAML 响应的内容

见guide for more info

【讨论】:

是的,SAML 响应带有“名称”属性,但是我怎样才能避免配置文件中的“名称”属性。 10 => 数组('class' => 'core:AttributeAdd', 'aws.amazon.com/SAML/Attributes/Role' => 数组('arn:aws:iam::arn:aws:iam:::role/, arn:aws:iam:::saml-provider/')), 20 => array('class' => 'core:AttributeCopy', 'uid' => 'aws.amazon.com/SAML/Attributes/RoleSessionName' , ), 为什么要避免它?

以上是关于AWS SSO 在 php 应用程序中使用 SAML的主要内容,如果未能解决你的问题,请参考以下文章

使用 SAM 时,AWS sam build 和 sam package 有啥区别?

如何在不使用 SAM 的情况下使用 AWS 代码部署来部署简单的 AWS lambda 函数?

在 AWS SAM 模板中出现 Fn::GetAtt 错误

如何在 AWS SAM 或 Cloudformation 中添加身份提供者

我能否在 SAM 模板中使用 AWS Cloud Formation 资源语法,反之亦然?

使用 AWS Cognito 和子域的 SSO