authentication - django-rest-framework token 验证和注销

标签 authentication token django-rest-framework

据了解,obtain_auth_token View 用作登录功能。您提供凭据并取回 token 。注销会是什么情况?我应该在注销时删除 token 吗?最好的做法是什么?

如果删除没问题,那么我如何同时处理多个客户端。假设用户从移动设备注销,但希望在 Web 上保持登录状态。 Token模型目前有一个 一对一User 的关系.

请给我一些建议。谢谢

最佳答案

Django REST framework 提供的 TokenAuthentication 旨在用作非常简单的 token 身份验证。我的意思是,你得到

  • 将 API 使用者与用户联系起来的简单 token
  • ...那个doesn't rotate by default
  • ...那个doesn't expire by default
  • ...在 API 使用者之间共享(单个 token )

  • 如果您正在寻找比这更高级的东西,您通常必须研究不同的 token 身份验证方法。这可以像对标准 TokenAuthentication 类和 View (如链接)进行子类化一样简单,但 Token 模型不容易交换。这意味着将 user 字段更改为 ForeignKey ,允许您为用户拥有多个 token ,并不容易实现。

    幸运的是,Django REST 框架 does support other authentication methods ,例如 OAuth 和 JSON Web Tokens,它们都支持用户的多个 token 。您可以找到常见身份验证类 at this Stack Overflow answer 的比较。

    关于authentication - django-rest-framework token 验证和注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27852639/

    相关文章:

    C++ 编程错误 : expected unqualified-id before "{" token

    python - Django REST Framework 中的私有(private)和公共(public)字段

    python - Django REST API 仅填充多对多字段中选定的字段

    linux - 登录 lightdm 后启动 shell 脚本

    html - 为什么 chrome 无法识别此登录表单?

    drupal - 如何在 Drupal 7 中创建自定义 token ?

    python - 验证序列化器 Django Rest 框架中的外键字段

    authentication - 如何在Flutter中实现灵活的登录界面?

    Java HTTP 授权?

    token - Google reCAPTCHA v3 找不到任何 token