跳至内容

如何在 Amazon Cognito 用户池中将 Auth0 设置为 OIDC 提供商?

2 分钟阅读
0

我想在 Cognito 用户池中将 Auth0 设置为 OIDC 提供商。

简短描述

Cognito 用户池允许您使用第三方 OpenID Connect (OIDC) 身份提供商(例如 Salesforce 或 Ping Identity)登录。要将 Auth0 设置为 OIDC 提供商,请确保您拥有以下内容:

  • 包含应用程序客户端和域名的 Cognito 用户池。
  • 包含 Auth0 应用程序的 Auth0 账户。

解决方法

创建 Auth0 账户

如果您有 Auth0 账户,请登录。要创建 Auth0 账户,请参阅 Auth0 网站上的 Get Started

创建 Auth0 应用程序

完成以下步骤:

  1. 在 Auth0 网站上登录您的开发者账户。
  2. 选择 Dashboard(控制面板)。
  3. 在导航窗格中,从 Applications(应用程序)中单击 Create application(创建应用程序)。
  4. 在对话框中,输入应用程序的名称。例如,App1
  5. Choose an application type(选择应用程序类型)中,选择 Single webpage applications(单页 Web 应用程序),然后选择 Create(创建)。
    重要事项: 请记下应用程序设置选项卡中的 Client ID(客户端 ID)、Client secret(客户端密钥)和 Domain(域)值,以用于在后续步骤中为用户池配置 OIDC 设置。
  6. Settings(设置)选项卡的 Allowed callback URLs(允许的回调 URL)部分中,必须为用户池添加 Cognito 回调域。域格式类似于以下:https://<Cognito Domain>.auth.<region>.amazoncognito.com/oauth2/idpresponse
  7. 单击 Save changes(保存更改)。

为用户池配置 OIDC 设置

完成以下步骤:

  1. 打开 Cognito 控制台
  2. 选择 User pools(用户池),然后选择您的用户池。
  3. 选择 Social and external providers(社交和外部提供商),然后选择 Add identity provider(添加身份提供商)。
  4. 选择 OpenID Connect (OIDC)
  5. 输入 Provider name(提供商名称)。然后,输入从 Auth0 应用程序获取的 Client ID(客户端 ID)和 Client secret(客户端密钥)值。
  6. 对于 Authorization scopes(授权范围),输入 Phone(电话)、Email(电子邮件)、OpenidProfile(配置文件)。
  7. 选择 Attributes request method(属性请求方法)下拉列表,然后选择 GET
  8. 对于 Issuer(发布者),添加从 Auth0 控制台获取的域名。例如,https://example.auth0.com
  9. 对于 Attribute mapping(属性映射),在 OIDC attribute(OIDC 属性)部分中为 Email(电子邮件)创建属性映射。OIDC 属性电子邮件将映射到用户池属性电子邮件。
  10. 选择 Add identity provider(添加身份提供商)。

为用户池配置应用程序客户端设置

完成以下步骤:

  1. 打开 Cognito 控制台
  2. 选择 App clients(应用程序客户端),然后打开您的应用程序客户端。
  3. 选择 Login pages(登录页面)选项卡。
  4. Managed login pages configuration(托管登录页面配置)部分中,选择 Edit(编辑)。
  5. Allow callback URLs(允许回调 URL)中,输入您的集成应用程序的 URL。
  6. Allow sign out URL(允许注销 URL)中,输入用户在注销后被重定向到的 URL。
  7. 单击 Identity providers(身份提供商)的下拉列表,然后选中 Auth0Cognito User Pool(Cognito 用户池)复选框。
  8. Allowed OAuth flows(允许的 OAuth 流)中,必须至少选中 Authorization code grant(授权码授权)复选框。
  9. Allowed OAuth scopes(允许的 OAuth 范围)中,必须至少选中 Email(电子邮件)和 openid 复选框。
  10. 单击 Save changes(保存更改)。

测试设置

完成以下步骤:

  1. 打开 Cognito 控制台
  2. 选择 Manage user pools(管理用户池)。
  3. 打开您的用户池,然后选择 App clients(应用程序客户端)。
  4. 选择您的应用程序客户端,然后选择 View login page(查看登录页面)。
  5. Hosted UI(托管 UI)页面上,选择 Auth0。当您被重定向到 Auth0 登录页面时,填写登录页面信息。然后,该页面会重定向到应用程序客户端设置中指定的回调 URL。
  6. (可选)检查在用户池的用户和组设置中创建的 Auth0 用户。

相关信息

配置用户池域

AWS 官方已更新 8 个月前