我想要一些有关在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的鲁棒性。
请帮助我做出选择。
答案 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', ),
感谢大家的关注。