You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过AWS Cognito实现AzureAD SAML SSO:认证方法不匹配问题

解决AWS Cognito SAML集成Azure AD的AADSTS75011错误

错误原因

AADSTS75011错误是因为Cognito发送的SAML请求中指定了特定的AuthnContextClassRef(默认通常是urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport),而用户已通过Windows集成认证(如Kerberos)登录Azure AD,双方认证方法不匹配导致冲突。

解决步骤

1. 通过AWS控制台修改Cognito SAML IdP配置

  • 登录AWS管理控制台,进入目标Cognito用户池
  • 切换到身份提供者标签,找到已配置的SAML IdP
  • 点击编辑,滚动到高级设置区域
  • 在AuthnContextClassRef字段中输入urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified,或者清空该字段以移除AuthnContext要求
  • 保存配置后重新测试登录流程

2. 使用AWS SDK for PHP修改IdP配置

如果控制台操作无法满足需求,可通过aws/aws-sdk-php调用updateIdp接口修改ProviderDetails中的AuthnContext设置:

use Aws\CognitoIdentityProvider\CognitoIdentityProviderClient;

$client = new CognitoIdentityProviderClient([
    'region' => '你的AWS区域',
    'version' => 'latest',
    'credentials' => [
        'key' => '你的AWS Access Key',
        'secret' => '你的AWS Secret Key',
    ]
]);

// 更新SAML IdP的AuthnContext配置
$client->updateIdp([
    'UserPoolId' => '你的用户池ID',
    'ProviderName' => '你的SAML身份提供者名称',
    'ProviderDetails' => [
        'AuthnContextClassRefs' => ['urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified'],
        // 保留其他已有的ProviderDetails配置,比如MetadataURL等
    ]
]);

3. 备选:Azure AD端调整(仅当Cognito修改无效时)

  • 登录Azure门户,进入对应的企业应用
  • 切换到单一登录标签,找到用户分配,确保报错用户已被正确分配到该应用
  • 若仍有问题,可在SAML配置的高级设置中,开启“允许未请求的AuthnContext”选项

内容的提问来源于stack exchange,提问作者Metamorpher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:55:03