我发现django-auth
会在默认情况下对密码进行哈希处理,并在后台随机添加盐:https://docs.djangoproject.com/en/2.1/topics/auth/passwords/
但是,我还不确定django-auth
和django-rest-auth
有什么区别。
我无法找到django-rest-auth
是否也会自动对密码进行哈希和盐化的信息。
有人可以解释django-auth
和django-rest-auth
之间到底有什么区别,何时选择哪个以及为什么有两个库针对同一问题?
初学者对我来说很困惑。
答案 0 :(得分:1)
django-rest-auth
的文档explains the purpose of the project很好:
自从引入django-rest-framework以来,Django应用程序已经能够提供应用程序级REST API端点。结果,我们看到了很多实例,其中开发人员在各处实现了自己的REST注册API端点,代码片段等。我们旨在通过提供django-rest-auth(一套用于处理用户注册和身份验证任务的REST API端点)来解决这一需求。通过具有这些API端点,您的客户端应用程序(例如AngularJS,iOS,Android等)可以通过用于用户管理的REST API独立地与Django后端站点进行通信。当然,我们会根据需求添加更多的API端点。
存在该项目是为了提供一组用于身份验证的通用API端点。它本身不处理身份验证任务,因此不必担心密码哈希等问题。
例如,其PasswordChangeSerializer
uses和SetPasswordForm
from django.contrib.auth
。它可以使用Django内置身份验证框架提供的所有好东西。