【问题标题】:When to call gettoken, refresh token and verify token by user in jwt in DRF?何时在 DRF 中的 jwt 中调用 gettoken、刷新令牌和验证令牌?
【发布时间】:2021-06-27 04:00:23
【问题描述】:

我一直在 Django rest 框架中为我的项目使用内置的 token authentication。但现在我正在转向 simple jwt。但我对一件事感到困惑。

在 Token Authentication 用户中如果从前端登录会返回一个令牌,但是在 jwt 文档中我看到了如下三个请求:

urlpatterns = [    
url(r'^auth-jwt/', obtain_jwt_token),     
url(r'^auth-jwt-refresh/', refresh_jwt_token),     
url(r'^auth-jwt-verify/', verify_jwt_token),
 ]

我不太明白这些要求。作为普通用户,当用户访问一个站点时,他不要求获取令牌、刷新令牌和验证令牌,他只需登录并使用该站点的功能。那么,我想问这些请求是什么时候提出的?

希望我已经解释清楚了。

【问题讨论】:

    标签: django django-rest-framework jwt token


    【解决方案1】:

    JWT 认证的一般流程是这样的:

    1. 客户端将发送一个POST 请求,其中包含需要验证的身份验证凭据。如果凭据有效,则服务器需要返回 JWT 令牌和刷新令牌。此过程由url(r'^auth-jwt/', obtain_jwt_token) URL 处理。

    2. 身份验证后返回的令牌是短暂的令牌,要继续用户会话,客户端需要使用刷新令牌获取新令牌。 这是由url(r'^auth-jwt-refresh/', refresh_jwt_token) URL 完成的。

    并不总是需要第三个 URL。如果您的应用程序需要它,您可以使用它来验证您的 JWT 令牌。

    【讨论】:

    • 在令牌认证中,我有这个用户登录 api 是 127.0.0.0:8000/api/login,用户可以从那里登录,用户永远不必调用 url(r'^auth- jwt/', gain_jwt_token),所以我很困惑。这是从前端自动调用刷新令牌吗??
    • 您应该花一些时间了解 JWT 身份验证的工作原理,这将有助于消除您的疑虑。这里有一篇好文章remoteinning.com/blog/…
    猜你喜欢
    • 2020-07-07
    • 2020-12-26
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 2021-09-17
    • 2019-07-01
    • 2019-08-30
    • 2021-08-23
    相关资源
    最近更新 更多