Django只使用用户名和哈希登录

时间:2015-03-01 20:36:23

标签: python django hash

我想实现与django服务器交互的软件客户端。我需要用户登录客户端。

  1. 是否可以检查用户是否在数据库及其密码中,只能使用用户名和密码?类似的东西:

    if user_valid(username, password):
        do something;
    
  2. 我不想发送开放密码,是否可以只发送它的哈希值?我怎样才能获得有效的哈希?在这种情况下,auth方法应该是:

    if user_valid(username, password_hash):
        do something;
    

1 个答案:

答案 0 :(得分:1)

查看https://github.com/jpulgarin/django-tokenapi

基本上您需要根据用户生成令牌..在下面的示例中,作者使用的是用户主键和密码。

示例:

  

https://github.com/jpulgarin/django-tokenapi/blob/master/tokenapi/tokens.py#L15

然后......您可以实现自定义身份验证后端..这将允许用户使用生成的令牌登录。

示例:

  

https://github.com/jpulgarin/django-tokenapi/blob/master/tokenapi/backends.py#L13

有关自定义身份验证后端的详细信息

  

https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#customizing-authentication-in-django