代币每次都要换吗?

2024-03-29 09:07:23 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我正在遵循的教程,链接

https://thinkster.io/tutorials/django-json-api/authentication

我一直到最后,这个部分用粗体写着 “使用邮递员检索和更新用户”

当我使用Postman并在url 127.0.0.1:8000/api/users/login上执行POST请求时 有了正确的电子邮件和密码,我每次登录都会得到不同的令牌,这正常吗?如果是这样的话,下面是怎么工作的。。。。你知道吗

问题是根据教程,当我做了一个网址上得到 127.0.0.1:8000/api/用户

我得到了回应

你知道吗{ “用户”:{ “detail”:“未提供身份验证凭据。” } }你知道吗

但根据教程,我应该得到用户的用户名。我的请求是不是发错了?你知道吗

代码中的注释告诉我使用PostMan在请求头中使用令牌,所以我这样做了,结果仍然相同。我甚至试着把令牌放在user/?token='tokengoesher',仍然是相同的结果。你知道吗

每次登录时,令牌都会发生变化,令牌将如何引导我找到用户。你知道吗

教程和注释中的代码表示,如果我使用一个令牌,它应该用一个用户和令牌来响应。你知道吗


Tags: django代码用户httpsioapijsonurl
2条回答

我也有同样的问题,我做到了: Enter Authorization Token *token in here*

我已经阅读了教程,至于我的怀疑,你的权限类是(isAuthenticated,)。 这意味着您需要登录才能发出该请求。这就是错误信息的原因。你知道吗

通过删除permission classes属性或将其更改为(AllowAny,),您可以毫无问题地执行请求。但是检索用户在逻辑上需要授权。这就是权限类的原因。你知道吗

在AngularJS中,使用令牌,在发布到登录API之后,您将收到一个令牌。代币每次都不一样。令牌是用于授权的用户的某种身份。登录之后,您应该在每个请求的请求头中保留令牌,直到注销,然后令牌被删除。此令牌证明您在服务器中的权限。你知道吗

您需要继续阅读教程,还要编写一些拦截器服务,以便每次都将令牌放在请求头中。你知道吗

通过添加

“授权”:您的\u令牌

在标题中。 它应该返回响应200。你知道吗

我的建议是,现在跳过身份验证部分,集中精力构建一个前端,然后在了解angularjs如何工作并可以集成到django之后再回来。你知道吗

相关问题 更多 >