如何将Amazon Cognito用作我的网站(非移动应用程序)的用户身份验证

时间:2014-07-10 16:59:19

标签: amazon-web-services amazon-cognito

如何在Web应用程序(而非IOS或Android应用程序)中使用AWS-Cognito进行用户身份验证?

Amazon Cognito刚刚问世:

http://aws.amazon.com/cognito/

http://aws.amazon.com/about-aws/whats-new/2014/07/10/introducing-amazon-cognito/

来自常见问题:

  问:我还需要自己的后端身份验证和身份系统吗?   与亚马逊Cognito?

     

没有。 Amazon Cognito支持通过亚马逊,Facebook和Google登录,   以及为未经身份验证的用户提供支持。亚马逊   Cognito您可以支持联合身份验证,配置文件数据同步   存储和AWS访问令牌分发,无需编写任何后端   代码。

它似乎是为移动应用而构建的(它们为Android和IOS提供了SDK)。

到目前为止,AWS php SDK和boto没有引用Cognito,但是亚马逊提到了后端API""我们可以打。

4 个答案:

答案 0 :(得分:33)

亚马逊Cognito的开发人员之一。

要展开JeffersonBe's answer,可在我们的documentation website上找到适用于Amazon Cognito中的身份和同步服务的API文档。

此外,许多AWS开发工具包已经更新以支持Amazon Cognito:

即将推出更多。

感谢您的关注。如果您有其他问题或遇到问题,请在新的dedicated Cognito forum上在SO或以上发布其他问题。

答案 1 :(得分:15)

Cognito非常适合网络应用。 有一个很好的教程,使用Cognito ID和Sync for Javascript web apps: http://backspace.technology/learn-aws-cognito.html 并在 http://blog.backspace.academy/2015/03/using-cognito-with-node.html

更新:现在还有http://backspace.technology/learn-aws-cognito-id-phonegap.html的Cordova / PhoneGap教程 并在 http://blog.backspace.academy/2015/03/using-cognito-with-phonegapcordova-part.html

流程如下:

  1. 注册Facebook应用。您将获得App ID和App secret。
  2. 使用App ID和App secret创建AWS Cognito ID池。
  3. 使用Passport的App ID和密码为用户获取Facebook会话令牌。
  4. 使用Facebook令牌为用户获取临时AWS凭据。
  5. 使用临时凭证访问AWS资源,例如Cognito Sync。
  6. 虽然如果您只是在寻找身份验证,那么您实际上并不需要Cognito,只需使用Facebook登录即可。

答案 2 :(得分:8)

从我在FAQ中看到的,是的:

  

问:Amazon Cognito是否公开服务器端API?

     

是。 Amazon Cognito公开了服务器端API。你可以创建自己的   通过直接调用这些API来自定义Amazon Cognito的界面。该   服务器端API在开发人员指南中进行了描述。

以下是相关Amazon Cognito Documentation的链接:

答案 3 :(得分:1)

  

在您的网络应用程序和移动设备中使用Amazon Cognito   应用程序,您可以为您的应用程序使用一致的跨平台标识符   最终用户通过Facebook,Google或亚马逊进行身份验证;一起   使用Cognito Sync服务,这可以让您保持与用户相关   所有应用程序和平台的数据一致。进一步,   Cognito可帮助您检索临时的有限权限凭据   对于未经管理的经过身份验证和未经身份验证的用户   任何后端基础设施。在我们之前的帖子中,我们介绍了如何操作   从您的手机连接到Amazon Cognito Identity服务   应用

以下是相关链接:Amazon Cognito Documentation