Django Rest框架 Postman 令牌身份验证

b09cbbtk  于 2022-11-07  发布在  Postman
关注(0)|答案(5)|浏览(181)

我正在使用Django Rest Framework令牌身份验证,如果我使用curl http://localhost:8000/api/v1/users/?format=json -H 'Authorization: Token 0a813fdcd3f8846d6fa376f2592bbc678b0b8e85',一切都工作正常。
但是,当我试图实现这一点与 Postman 铬客户端,它没有发生。我做错了什么?

6ie5vjzr

6ie5vjzr1#

您将标头设置为Authorization: Token,而实际上它应该是Authorization。标头实际上只是Authorization,但值是Token [token_string],其中[token_string]是您获得的授权令牌。

w46czmvw

w46czmvw2#

除上述答案外,请确保在设置下启用“Follow Authorization header”(请参见下面的屏幕截图)

sg3maiej

sg3maiej3#


对于新版本的postman,需要在左面板中选择Auth 2类型身份验证,然后在右面板中指定DRf密钥“Token”,并在值中指定Token本身。

yruzcnhs

yruzcnhs4#

在指定授权和令牌值后,尝试在环境中添加令牌,以便每次都不必复制令牌值。

4nkexdtk

4nkexdtk5#

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....是访问密钥的值。

然后发送请求。

相关问题