首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DRF测试中jwt令牌的身份验证错误401

DRF测试中jwt令牌的身份验证错误401
EN

Stack Overflow用户
提问于 2022-06-17 14:15:13
回答 1查看 300关注 0票数 0

在测试中获取get方法的jwt授权时遇到了问题。我的测试:

代码语言:javascript
运行
复制
class ImageViewsTests(APITestCase):
def setUp(self):
    self.test_user = User.objects.create_user(**TEST_USER)
    TEST_IMAGE['created_by'] = self.test_user
    self.temp_image = Image.objects.create(**TEST_IMAGE)
    self.token = RefreshToken.for_user(self.test_user)
    
    
def test_images_list(self):
    url = reverse('jwt-create')

    client = APIClient()
    client.credentials(HTTP_AUTHORIZATION=f'JWT {self.token.access_token}')
    response = self.client.get('/image/', data={'format': 'json'})
    
    self.assertEqual(response.status_code, status.HTTP_200_OK)
    self.assertEqual(response.data, TEST_IMAGE)

测试返回AssertionError: 401 != 200。令牌正确返回,但在标头中不工作。例如,邮递员一切都很好。邮递员

我做了其他类似的事情,我也没有得到任何授权

代码语言:javascript
运行
复制
def test_images_list(self):
    url = reverse('jwt-create')

    client = APIClient()
    resp = self.client.post(url, {'email':TEST_USER['email'], 'password':TEST_USER['password']}, format='json')
    
    self.assertEqual(resp.status_code, status.HTTP_200_OK)
    
    client.credentials(AUTHORIZATION=f'JWT {resp.data["access"]}')
    
    response = self.client.get('/image/', data={'format': 'json'})
    
    self.assertEqual(response.status_code, status.HTTP_200_OK)
    self.assertEqual(response.data, TEST_IMAGE)

我正在使用Djoser,jwt,DRF。我在哪里搞错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-18 04:35:32

尝试以下设置凭据:

代码语言:javascript
运行
复制
self.token = RefreshToken.for_user(self.test_user)
client.credentials(HTTP_AUTHORIZATION=f'Bearer {self.token.access_token}')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72660747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档