【发布时间】:2018-04-21 15:33:55
【问题描述】:
我的 DRF 出现错误。当我尝试使用 post 方法进行身份验证时。
令牌对于管理员用户是正确的。当我使用安全方法时,它是成功的,但是使用 post 方法时,它不会进行身份验证
我的看法
class SpecialistListView(ListCreateAPIView):
authentication_classes = (OAuth2Authentication,)
permission_classes = (permissions.IsAdminUser,)
queryset = Specialist.objects.all()
serializer_class = SpecialistSerializer
我不明白为什么返回代码的状态是 HTTP 401 Unauthorized。
它不适用于测试。我检查邮递员是否成功。
我正在使用来自 rest_framework.test 导入 APIClient 的 APIClient
我的测试客户端
client = APIClient()
client.credentials(HTTP_AUTHORIZATION='Bearer EGsnU4Cz3Mx5bUCuLrc2hmup51sSGz')
class CreateSpecialist(APITestCase):
fixtures = ['data','data2']
def setUp(self):
self.valid_payload = {
'username': 'julia',
'nick': 'julia',
'password': 'intel12345',
"first_name": "juliana",
"last_name": "garzon"
}
def test_create_specialist(self):
response = self.client.post(
reverse('specialists'),
data=json.dumps(self.valid_payload),
content_type='application/json'
)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
【问题讨论】:
标签: django oauth oauth-2.0 django-rest-framework