【问题标题】:How to add JWT token into credentials in Django如何将 JWT 令牌添加到 Django 中的凭据中
【发布时间】:2020-05-06 08:57:40
【问题描述】:

在测试中,我无法验证我的测试用户。如何将 JWT 令牌添加到 self.client.credentials 中。

def test_retrive_profile_success(self):
    """Test retriving profile for authenticated user"""
    res1 = self.client.post(TOKEN_URL, {'email':'test@greatsoft.uz', 'password':'password'})
    token = res1.data['token']
    self.client.credentials(HTTP_AUTHORIZATION='Token ' + token)
    res = self.client.get(ME_URL)
    self.assertEqual(res.status_code, status.HTTP_200_OK)
    self.assertEqual(res.data, {
        'email':self.user.email
    })

我收到 401 的响应。

【问题讨论】:

    标签: django python-3.x django-rest-framework-jwt


    【解决方案1】:

    你需要改变这一行

    self.client.credentials(HTTP_AUTHORIZATION='Token ' + token)
    

    到这里

    self.client.credentials(HTTP_AUTHORIZATION='Bearer ' + token)
    

    【讨论】:

    • (对于其他人)如果不起作用请尝试JWT而不是Bearer或Token
    • JWT 适用于我的情况,我认为 self.client.for_login 或 self.client.authenticate 应该可以完成这项工作,然后您不需要添加 JWT
    猜你喜欢
    • 2021-01-17
    • 2021-06-19
    • 2019-08-23
    • 1970-01-01
    • 2021-07-22
    • 2017-05-30
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多