我正在使用Django Rest Framework令牌身份验证,如果我使用curl http://localhost:8000/api/v1/users/?format=json -H 'Authorization: Token 0a813fdcd3f8846d6fa376f2592bbc678b0b8e85',一切都工作正常。但是,当我试图实现这一点与 Postman 铬客户端,它没有发生。我做错了什么?
curl http://localhost:8000/api/v1/users/?format=json -H 'Authorization: Token 0a813fdcd3f8846d6fa376f2592bbc678b0b8e85'
6ie5vjzr1#
您将标头设置为Authorization: Token,而实际上它应该是Authorization。标头实际上只是Authorization,但值是Token [token_string],其中[token_string]是您获得的授权令牌。
Authorization: Token
Authorization
Token [token_string]
[token_string]
w46czmvw2#
除上述答案外,请确保在设置下启用“Follow Authorization header”(请参见下面的屏幕截图)
sg3maiej3#
对于新版本的postman,需要在左面板中选择Auth 2类型身份验证,然后在右面板中指定DRf密钥“Token”,并在值中指定Token本身。
yruzcnhs4#
在指定授权和令牌值后,尝试在环境中添加令牌,以便每次都不必复制令牌值。
4nkexdtk5#
从http://127.0.0.1:8000/accounts/login/获取访问令牌后例如:
http://127.0.0.1:8000/accounts/login/
{ "email": "user@example.com", "tokens": { "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoicmVmcmVzaCIsImV4cCI6MTY2NjI2NTAxMSwiaWF0IjoxNjY2MTc4NjExLCJqdGkiOiJjZWM3MzJmNDZkMGE0MTNjOTE3ODM5ZGYxNzRiNzMxZCIsInVzZXJfaWQiOjcwfQ.5Rd25s6msp72IHyU1BxE4ym24YIEbhyFsBdUztGXz0I", "access": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNjY2MjY1MDExLCJpYXQiOjE2NjYxNzg2MTEsImp0aSI6IjgyOWFmZGE5MWY2ODRhNDZhMDllZGMzMmI0NmY0Mzg5IiwidXNlcl9pZCI6NzB9.TYhi0INai293ljc5zBk59Hwet-m9a1Mc1CtA56BEE_8" }, "id": 70 }
复制“访问”键的内容作为响应,然后在“标题”中以发布方式按键添加新项:Authorization和如下值:Bearer eyJ0eXAi....eyJ0eXAi....是访问密钥的值。
Bearer eyJ0eXAi....
然后发送请求。
5条答案
按热度按时间6ie5vjzr1#
您将标头设置为
Authorization: Token
,而实际上它应该是Authorization
。标头实际上只是Authorization
,但值是Token [token_string]
,其中[token_string]
是您获得的授权令牌。w46czmvw2#
除上述答案外,请确保在设置下启用“Follow Authorization header”(请参见下面的屏幕截图)
sg3maiej3#
对于新版本的postman,需要在左面板中选择Auth 2类型身份验证,然后在右面板中指定DRf密钥“Token”,并在值中指定Token本身。
yruzcnhs4#
在指定授权和令牌值后,尝试在环境中添加令牌,以便每次都不必复制令牌值。
4nkexdtk5#
从
http://127.0.0.1:8000/accounts/login/
获取访问令牌后例如:
复制“访问”键的内容作为响应,然后在“标题”中以发布方式按键添加新项:
Authorization
和如下值:Bearer eyJ0eXAi....
eyJ0eXAi....是访问密钥的值。
然后发送请求。