在使用django-rest-framework-jwt登录时,如何使用allauth生成令牌并将其传递给可以将令牌存储在本地存储中的模板?
我知道django-rest-framework-jwt可以让你通过POST生成令牌:
$ curl -X POST -d "username=admin&password=abc123" http://localhost:8000/api-token-auth/但是如何在allauth的登录/注册流程中实现这一点呢?
发布于 2015-10-22 00:53:46
(我没有使用过JWT,但我不认为JWT与常规令牌相比有什么特别之处,除了额外的安全性,更重要的是,不必维护令牌的数据库表。因此,我的答案是使用常规令牌,假设/希望您可以适应JWT)
我假设你正在尝试编写独立的客户端,在这种情况下,问题是django-allauth并不是真正打算与cleints/ API一起使用,所以很多魔力都不能通过API使用。看看这个有多老的问题,我相信它仍然有效:3rd party REST/JSON APIs。
如果你滚动到最后,你会看到有人推荐使用django-rest-auth来处理API的社交登录,而主要的django-allauth处理原生django网站的事情。
我还没有同时使用它们(我目前还不支持API端的社交登录,所以没有必要处理它)。
This post展示了一个使用django-rest-framework开发Angular客户端的优秀示例。您将看到它如何创建自己的API来注册和登录。您应该能够用django-rest-auth替换这一部分,但重点是django-allauth不会在通过API提供的任何东西上扮演重要角色(不幸的是)。
发布于 2018-07-02 01:07:32
allauth基本上是多页面应用程序,对于应用程序接口登录,我建议使用rest_auth Rest Auth Docs
它内置了登录/注册等功能,构建在all-auth之上,但适用于单页面应用程序。
然后更新设置,以
REST_USE_JWT = True
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.BasicAuthentication',
],现在,您应该会收到响应登录调用的jwt令牌。
https://stackoverflow.com/questions/26851466
复制相似问题