使用django rest框架为每个登录使用新令牌对用户进行身份验证

时间:2016-08-01 09:36:51

标签: django django-rest-framework django-users

我想使用django-rest-framework令牌来验证用户身份。我的工作流程是:

  1. 用户请求页面

    • 如果存在身份验证令牌,请回复所请求的数据。
    • 如果身份验证令牌不存在,请重定向到登录页面(使用 请求页 )。
  2. 在登录页面内,用户提交凭据

    • 如果凭据经过了正确的身份验证,请为该用户获取或创建一个令牌,并使用该令牌重定向回 请求的页面
    • 否则,回答错误。
  3. 最后,

    1. 当用户注销时,删除该用户的令牌。
    2. 所以我的问题是,如果用户已经注销,是否可以为每次登录删除并创建新令牌?此外,我认为令牌将是唯一的,我是否正确?非常感谢您的帮助和指导。谢谢。

1 个答案:

答案 0 :(得分:1)

REST API应该是无状态的,这意味着不应该有“会话”,因此不会有登录和注销,也没有重定向到登录页面。

如果请求没有令牌,则API应返回(可能)401 Unauthorized HTTP状态代码而不是重定向。您正在制作API,因此不会进行人工干预。 Django rest框架提供了一个人性化的界面,它有会话,登录/注销,如果这就是你需要的东西,你可以随心所欲。但是另一个程序很难使用你的API。

为什么不使用有效期或使用其他well known authentication method的令牌? :P

希望这会有所帮助:)

相关问题