aws cognito 用户池域 - Invalid_Request

Posted

技术标签:

【中文标题】aws cognito 用户池域 - Invalid_Request【英文标题】:aws cognito user pool domain - Invalid_Request 【发布时间】:2018-01-31 12:40:16 【问题描述】:

我创建了一个用户池并使用应用程序客户端设置 () 设置域,以在 cognito 本身中托管注册和登录页面。当我尝试使用类似于 -

的网址时

https://myDomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=fkjfkasjfkasjfdweinfskfsfsfnk&redirect_uri=https://google.com

在浏览器中我被重定向到

https://myDomain.auth.us-east-1.amazoncognito.com/error?error=invalid_request#

注意:我尝试在未启用 OAuth2 的情况下使用 Cognito 用户池和 Facebook 身份提供程序。

我错过了什么吗?

【问题讨论】:

【参考方案1】:

它适用于以下用户池设置。

App integration
    App client settings
        Enabled Identity Providers
            ☑ Facebook  ☑ Cognito User Pool
        Callback URL(s)
            https://google.com
        OAuth 2.0
            Allowed OAuth Flows
            ☑ Authorization code grant  ☐ Implicit grant  ☐ Client credentials
        Allowed OAuth Scopes
            ☐ phone  ☐ email  ☑ openid  ☐ aws.cognito.signin.user.admin  ☐ profile

【讨论】:

【参考方案2】:

根据您的描述,您所做的一切都是正确的,但您应该检查以下内容,

您是否在 App Client Setting 中将 https://google.com 添加为回调 URL?

您是否检查了Enabled Identity Providers 中的身份提供者?

Allowed OAuth Flows中,你必须勾选“授权码授予”。

【讨论】:

检查“授权码授予”对我有用,但您还必须检查“允许的 OAuth 范围”下的“电子邮件”和“openid”。【参考方案3】:

在我的例子中,它是一个必需的属性(名称),设置为Mutable: False

登录后提示用户重置临时密码并设置名称。 提交表单时,出现An error was encountered with the requested page 错误。

使名称属性可编辑解决了这个问题。

【讨论】:

这救了我。这在 AWS 文档中的什么地方有说明?向你致敬***.com/a/70384714/9671120【参考方案4】:

AppClientSettngs 标签的Allowed OAuth Flows 下启用Authorization code grant

像这样改变redirect_uri

https://myDomain.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=fkjfkasjfkasjfdweinfskfsfsfnk&redirect_uri=https://myDomain.auth.us-east-1.amazoncognito.com

这对我有用

【讨论】:

以上是关于aws cognito 用户池域 - Invalid_Request的主要内容,如果未能解决你的问题,请参考以下文章

text [使用CLI注册Cognito用户] #aws #cognito#aws-cli

在 AWS Cognito 中管理用户

AWS Cognito:Cognito 用户池的元数据 URL 在哪里?

具有 Cognito 用户池授权方的 AWS SAM API

我是不是可以在 AWS 中创建仅对 Cognito 用户可用但对任何其他 AWS 用户不可用的密钥?

AWS + Serverless - 如何获取 cognito 用户池生成的密钥