在Cognito Federated Identities

时间:2017-05-21 20:28:01

标签: amazon-web-services jwt user-profile federated-identity aws-cognito

我目前正在探索AWS堆栈,因此构建了一个简单的Web应用程序。我计划使用:

  • S3托管静态内容
  • 用于存储用户数据的DynamoDB
  • 用于后端逻辑的Lambda + API网关
  • Cognito联合身份验证用户

我目前有一个小型跟踪子弹应用程序,允许用户通过Google(通过Cognito)进行身份验证,并通过DynamoDB中的Lambda检索一些数据。现在我想扩展它。

我想要做的下一件事(我未能实现)是实际存储经过身份验证的用户的用户名和电子邮件。存储它不应该是一个大问题,但检索它是。我知道我最初从谷歌获得了数据,因为当我检查我从谷歌获得的ID令牌(在JWT.io上)时,我可以清楚地看到我的电子邮件和名字。这是我发送给AWS Cognito以换取Cognito令牌的令牌。

我希望能够在我的Lambda函数中再次访问这些数据,但我无法弄清楚实际情况。我理解Cognito对检索到的ID令牌执行单向散列,但我希望有一些选项可以从令牌中实际检索相关的用户数据。毕竟,通过谷歌(或任何其他IdP)的身份验证,用户已经同意共享一些个人数据。

我觉得我没有看到明显的东西。 AWS中是否有任何功能可以解决这个问题?是否有一个时刻(不是在客户端)我可以检查ID令牌并用它做一些魔术?或者我应该以某种不同的方式解决这个问题?

如果是后者,那么首选方式是什么?我不希望用户告诉我他们的个人数据,因为那时我还需要一些方法来验证它。

0 个答案:

没有答案