如何集成AWS Cognito内置UI?

时间:2018-07-24 17:57:59

标签: aws-cognito callbackurl

我已经使用Cognito进行了几天的实验,现在我正在测试内置的签名UI。我设法使其正常运行,我能够看到登录页面并成功使用我创建的用户登录。对于我的回调URL,我使用localhost:3000作为测试平台,在此运行React SPA。

但是,我一经重定向就完全不知所措。文档说我应该获得一个带有JWT作为查询参数的URL。相反,我得到的是以下形式的URL:

localhost:3000/?code=########-####-####-####-############

其中#是字母数字字符。我不认识此代码,我认为它不是JWT。我会很感激任何人都可以:

  1. 解释它是什么
  2. 将我定向到任何有关如何使用它的文档?

1 个答案:

答案 0 :(得分:3)

重定向后,您将获得localhost:3000/?code=########-####-####-####-############

这意味着您已启用code grant flow

此代码用于从Amazon Cognito获取令牌。

请求类型:POST

URL https://mydomain.auth.us-east-1.amazoncognito.com/oauth2/token

有效载荷grant_type=authorization_code& client_id=<CLIENT_ID>& code=<AUTHORIZATION_CODE>& redirect_uri=com.myclientapp://myclient/redirect

在这里您可以看到我们正在使用重定向URL在有效负载中传递code

此POST请求的响应将是您的令牌(如果身份验证成功:))

样品响应:

{
 "access_token":"eyJz9sdfsdfsdfsd",
 "refresh_token":"dn43ud8uj32nk2je",
 "id_token":"dmcxd329ujdmkemkd349r",
 "token_type":"Bearer", 
 "expires_in":3600
}

您可以将此令牌保存在本地存储或会话存储中,以进行进一步的自定义身份验证。

有关更多详细信息,请参考Amazon Cognito的所有可用端点。

例如: Authorization Endpoint Token Endpoint

我希望现在一切都清楚了!