11

我对Cognito的阅读是,它可以用来代替本地Django管理数据库来验证网站的用户。然而,我没有发现任何基于“Hello,World”应用程序的汤与坚果的例子,其中登录屏幕经过Cognito。我非常感谢如果有人可以发布一篇文章,逐步说明如何创建Hello World Django应用程序和Cognito用户池,然后如何用对AWS的调用替换Django中的默认验证Cognito。AWS Cognito作为Django身份验证后端,用于网站

特别是我需要知道如何从Cognito管理站点收集信息,这需要设置对Cognito API的调用来验证用户。

有两种情况需要考虑:应用程序用户登录到应用程序,并且管理员登录到django网站的管理员URL。我假设我希望在两种情况下都使用Cognito,否则我会留下一个潜在的漏洞,其中Admin URL使用较弱的登录技术。

在AWS论坛和StackExchange无论是当前的回答说:

(1)这是一次使用Cognito用于验证一个网站的浪费,它只是访问AWS资源

( 2)这不是浪费时间。我即将放弃。我已经创建了一个示例Cognito用户池和用户组,并在网上搜索了这个用例的正确示例。 (没有发现,或者我不会写。)

(3)https://github.com/capless/warrant, https://github.com/metametricsinc/django-warrant是aws论坛的两种可能的解决方案。

+0

我在同一条船上。规划将Cognito用于移动原生应用程序和Django服务器后端的联合社交登录。 真的很惊讶,至少没有一个auth-backend在那里。 –

+1

我想用它来使我的网站看起来很喜欢2因素身份验证,但它太复杂了,除非他们开辟了道路。我发现用于Python的AWS的“如何”指南往往过时,并且不会花费任何精力来更新它们。我在[AWS论坛](https://forums.aws.amazon.com/thread.jspa?threadID=256712&tstart=0)上提出了同样的问题,并且没有任何亚马逊技术公司做出回应。 –

+1

https:// github。COM/metametricsinc/Django的权证 – mbeacom

回答

4

如果您正在阅读本文,您可能会搜索“aws cognito django”xD。

我只是想和大家分享我为了得到这个东西的工作做的:

  • Django-Warrant。伟大的aws认知包装包。
  • 确保了解您当前的用户模型结构。如果您使用自定义用户模型,请不要忘记使用COGNITO_ATTR_MAPPING设置来映射它。
  • 更改您的身份验证以支持第三方连接。当您从客户端获得某个Cognito令牌时,使用oAuth/JWT/Session将其转换为您自己的令牌。

  • 反思您的登录/注册过程。你想要不同的注册? Django的仓单软件包支持的话......

在这一天结束,这是快速认证GREAT解决方案。

相关问题