我想要在 Amazon Cognito 用户池中将 Auth0 设置为 OIDC 提供程序。
简短描述
Amazon Cognito 用户池允许使用第三方 OpenID Connect 身份提供程序 (OIDC) 登录,例如 Salesforce 或 Ping Identity。要将 Auth0 设置为 OIDC 提供程序,您需要一个拥有应用程序客户端和域名的 Amazon Cognito 用户池,以及一个拥有 Auth0 应用程序的 Auth0 账户。
解决方法
请按照以下步骤创建或配置:
- Auth0 账户
- Auth0 应用程序
- OIDC 设置
- 应用程序客户端设置
如果你尚未执行此操作,请创建一个包含用户、应用程序客户端和域名的 Amazon Cognito 用户池。
创建 Auth0 账户
如果您已经拥有一个 Auth0 账户,请登录。要创建 Auth0 账户,请按照 Auth0 入门文档中的说明进行操作。
创建 Auth0 应用程序
- 在 Auth0 网站中,选择 Dashboard(控制面板)。
- 在导航窗格中,展开左窗格中的 Applications(应用程序),然后单击 Create Application(创建应用程序)。
- 在对话框中,输入应用程序的名称。例如,App1。
- 在 Choose an application type(选择应用程序类型)下,选择 Single Webpage Applications(单网页应用程序)。
- 选择 Create(创建)。
记下 Auth0 应用程序的应用程序设置选项卡中的Client ID(客户端 ID)、Client Secret(客户端密钥)和 Domain(域)。
在 Allowed Callback URL(允许的回调 URL)部分中,确保为用户池添加 Amazon Cognito 回调域。域格式与以下类似:
https://<cognito-domain>.auth.<region>.amazoncognito.com/oauth2/idpresponse.
为用户池配置 OIDC 设置
- 打开 Amazon Cognito 控制台,然后选择 Manage User Pools(管理用户池)。
- 选择您的用户池,然后在导航窗格中,选择 Identity providers(身份提供程序)。
- 选择 OpenID Connect。
- 输入 Auth0 应用程序的 Client ID(客户端 ID)和 Client secret(客户端密钥)。
- 选择 Attributes request method(属性请求方法)下拉列表,然后选择 GET。
- 对于授权范围,输入电话 电子邮件 openid 配置文件。
- 对于 Issuer(发布者),通过 Auth0 控制台添加域名。例如:https://example.auth0.com。
- 选择 Create provider(创建提供程序),然后选择 Run discovery(运行发现)。
- 选择 Create(创建)。
- 在导航窗格中,选择 Attribute mapping(属性映射)。
- 为OIDC attribute(OIDC 属性)部分中的 email(电子邮件)创建属性映射。OIDC 属性 email(电子邮件)将映射至用户池属性 email(电子邮件)。
为用户池配置应用程序客户端设置
- 打开 Amazon Cognito 控制台,然后选择 App client settings(应用程序客户端设置)。
- 在 Enabled identity providers(已启用的身份提供程序)中,选中 Auth0 和 Cognito User Pool 复选框。
- 对于 Callback URL(回调 URL),输入一个 URL。
- 对于 Sign out URL(注销 URL),输入一个用户在注销之后被重定向到的 URL。
- 对于 Allowed OAuth Flows(允许的 OAuth 流),确保至少选中 Implicit grant(隐含授予)复选框。
- 对于 Allowed OAuth Scopes(允许的 OAuth 范围),确保至少选中 email(电子邮件)和 openid 复选框。
- 选择 Save changes(保存更改)。
测试设置
- 打开 Amazon Cognito 控制台,然后选择 Manage User Pools(管理用户池)。
- 在导航窗格中,选择 App client settings(应用程序客户端设置)。
- 选择您的应用程序客户端,然后选择 Launch Hosted UI(启用托管 UI)。
- 在 Hosted UI(托管 UI)页面上,选择 Auth0,然后登录到 Auth0 登录页面。
- 该页面将重新定向至在应用程序客户端设置中指定的回调 URL。
- (可选)您可以检查在用户池的“用户和组”设置中创建的 Auth0 用户。
相关信息
向用户池添加 OIDC 身份提供程序