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

如何在AWS Cognito用户池中配置Okta作为SAML身份提供商?

我之前成功配置过Okta作为SAML 2.0 IDP与AWS Cognito用户池的联合登录,下面是两端详细的分步操作指南,亲测可行:

Okta 端配置步骤
  • 创建SAML应用集成

    1. 登录Okta控制台,进入Applications → Create App Integration
    2. 选择SAML 2.0类型,点击Next
    3. 填写应用基本信息(比如命名为「Cognito联合登录」),可上传自定义Logo,完成后点击Next
  • 配置SAML核心参数

    1. Single sign-on URL:填入你的Cognito用户池SAML断言接收地址,格式为:
      https://<你的用户池域名>/saml2/idpresponse
      
      示例:https://my-cognito-pool.auth.us-east-1.amazoncognito.com/saml2/idpresponse
    2. Audience URI (SP Entity ID):填入Cognito用户池的SP实体ID,格式为:
      urn:amazon:cognito:sp:<你的用户池ID>
      
      示例:urn:amazon:cognito:sp:us-east-1_XYZ123
    3. Name ID format:选择EmailAddress(这是最常用的匹配方式,也可根据需求选Persistent)
    4. Application username:选择Email(确保与Cognito用户池的用户标识字段一致)
    5. 添加必要的SAML属性声明(这些属性会同步到Cognito用户池):
      • 属性名:email,值:user.email
      • 属性名:givenName,值:user.firstName
      • 属性名:familyName,值:user.lastName
        (可根据你的用户池属性需求添加更多字段)
  • 获取Okta SAML元数据

    1. 完成应用创建后,进入该应用的Sign On标签页
    2. 在「SAML Signing Certificates」区域,下载元数据XML文件(后续Cognito配置会用到)
AWS Cognito 用户池配置步骤
  • 添加SAML身份提供商

    1. 登录AWS控制台,进入Cognito用户池,点击Federation → Identity providers
    2. 点击Add provider,选择SAML类型,点击Next
    3. 填写提供商名称(比如「Okta-IDP」),上传从Okta下载的SAML元数据XML,点击Create provider
  • 配置属性映射

    1. 在刚创建的SAML提供商详情页,点击Attribute mapping
    2. 将Okta发送的SAML属性映射到Cognito用户池的对应属性:
      • Okta的email → Cognito的email
      • Okta的givenName → Cognito的given_name
      • Okta的familyName → Cognito的family_name
        (确保这些属性已在用户池的Attributes标签页中启用)
  • 更新应用客户端Hosted UI设置

    1. 进入用户池的App integration → App clients,选择你的目标应用客户端
    2. 进入Hosted UI配置页面:
      • 在「Identity providers」中勾选刚创建的Okta SAML提供商(可选择保留Cognito原生登录或仅启用Okta)
      • 填写你的应用Callback URLs和Sign out URLs(比如https://your-app-domain.com/callback)
      • 保存配置
  • 测试联合登录
    访问Cognito Hosted UI的登录链接,格式为:

    https://<你的用户池域名>/login?response_type=code&client_id=<你的应用客户端ID>&redirect_uri=<你的回调地址>
    

    选择Okta登录选项,跳转至Okta登录页验证身份,成功后会回调至你的应用。

常见问题排查
  • 如果登录后Cognito报错,优先检查SAML断言中的属性是否与Cognito属性映射完全匹配
  • 用SAML tracer工具捕获SAML请求/响应,确认Okta是否正确发送了所需属性
  • 确保Okta应用中的URL和Entity ID与Cognito的对应值完全一致,无拼写或格式错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:31:24