fastapi swagger 不发送带有 url 的令牌

Posted

技术标签:

【中文标题】fastapi swagger 不发送带有 url 的令牌【英文标题】:fastapi swagger not sending the token with the url 【发布时间】:2020-05-29 23:59:41 【问题描述】:

fastapi 招摇不发送带有标头的令牌。即使我通过swagger的授权按钮登录。 这是它显示的网址: curl -X GET "http://localhost:8000/locations/?limit=100" -H "accept: application/json" -H "Authorization: Bearer undefined"

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/users/createtoken")

【问题讨论】:

同样的问题,除了我通过 Depends 和声明参数授权的方法解析授权:str = Header(...) 【参考方案1】:

如果您希望 FastAPI 的 SwaggerUI 将您的令牌包含在 API 调用中,请确保您的 /users/createtoken 端点在响应中包含 2 个必需的关键字。

    access_token: 这应该是你的代币值

    token_type:这个值应该是Bearer

所以你的回答应该是这样的,


    access_token: 'abcdefg12345token',
    token_type: 'Bearer'

如果您的端点正在返回,


    token: 'abcdefg12345token'

任何 SwaggerUI API 调用都将仅显示 undefined 作为令牌承载值。

【讨论】:

以上是关于fastapi swagger 不发送带有 url 的令牌的主要内容,如果未能解决你的问题,请参考以下文章

带有用户名和角色的 FastAPI 发布请求,怎么做?

FastAPI学习-9. Swagger文档输出请求示例example

如何在 swagger 上分析请求(带有查询)并发送不同的响应正文?

对于带有 json 列的 sqlite db,fastapi 响应的格式不正确

如何在 Swagger UI 中发送带有请求的自定义标头?

如何从fastapi中的另一个api调用一个api?