将DRF,身份验证和注册拼接在一起

时间:2019-09-01 01:58:30

标签: django django-rest-framework django-rest-auth

我想要一些有关在REST Api django项目中选择正确软件包的建议


用于身份验证:我应选择以下哪个选项?

django-oauth-toolkit :似乎是DRF中最强大和推荐的oauth库。这没有帐户管理。如何使用此软件包实施帐户管理?如果是,我可以得到一些指导。

django-rest-auth :用于身份验证的API端点以及用于DRF的基本帐户管理。但是似乎不如django-oauth强大,不如django-oauth允许令牌到期等。或者我缺少rest-auth的某些功能


授权:我将通过django-role权限寻求django-guardian。后来似乎更像是用于控制用户角色的后端实用程序。


我的深切愿望是使用oauth-toolkit,但它没有基本的用户管理。相反,rest-auth具有用户管理功能,但是缺乏(似乎是)oauth的鲁棒性。

请帮助我做出选择。

2 个答案:

答案 0 :(得分:0)

Django rest auth相当于django-allauth周围的一小部分API视图(根据github使用情况统计)比oauth-toolkit使用得多。

allauth非常好,并且有很多可用的提供程序。添加新文件非常容易,并且几乎可以通过管理界面完成100%的操作。

rest_auth本质上包装了django allauth以使其可以通过API使用。在rest_auth不足的地方,很容易实现直接与allauth一起工作所需的内容。如果您需要rest_auth的jwt支持,则可以使用recommend another 3rd party library

我们遇到的rest_auth的最大问题是文档还可以,并且回购中有许多未解决的问题应以更清晰的分辨率解决,在解决方案中存在很多错误信息问题。

期待通过查询rest_auth的状态来解决一些困惑

就您对用户管理的需求而言,django user management仍然很强大。

答案 1 :(得分:0)

我了解到DRF支持对OAuth2的内置支持,并利用'provider.oauth2'依赖性提供令牌,因此,以防万一,可以避免使用django-oauth-toolkit。

'DEFAULT_AUTHENTICATION_CLASSES':(     'rest_framework.authentication.OAuth2Authentication', ),

感谢大家的关注。