使用django-rest-framework进行密码哈希处理?

时间:2018-09-09 11:37:38

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

我发现django-auth会在默认情况下对密码进行哈希处理,并在后台随机添加盐:https://docs.djangoproject.com/en/2.1/topics/auth/passwords/

但是,我还不确定django-authdjango-rest-auth有什么区别。

我无法找到django-rest-auth是否也会自动对密码进行哈希和盐化的信息。

有人可以解释django-authdjango-rest-auth之间到底有什么区别,何时选择哪个以及为什么有两个库针对同一问题?

初学者对我来说很困惑。

1 个答案:

答案 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 usesSetPasswordForm from django.contrib.auth。它可以使用Django内置身份验证框架提供的所有好东西。