如何使用令牌身份验证发出 POST/GET 卷曲请求?

Ana*_*oly 5 curl fastapi

我有 APIKeyHeader 描述

Api是用FastApi制作的。

我尝试过不同的方法,比如

curl -X GET -H "X-Access-Token: <token>" "https://example/v1/method/"

curl -X GET "https://example/v1/method/" --header '{"X-Access-Token": "token"}' 
Run Code Online (Sandbox Code Playgroud)

答案是相同的:{“detail”:“无法验证凭据”}但我知道令牌是正确的。

PS 新来curl,请你详细描述我的错误

Yag*_*nci 2

您可以使用

curl -X GET "https://example/v1/method/" -H "Authorization: Bearer TOKEN_HERE"

假设我有一个端点/users/me,如果我使用上面的 cURL 命令向该端点发送 HTTP 请求。

curl -X GET "http://127.0.0.1:8000/users/me" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMDY1ODQwNDEtYzYwYi00NDg4LWEyYzctZmRkZmQxNWI0NDNkIiwiYXVkIjoiZmFzdGFwaS11c2VyczphdXRoIiwiZXhwIjoxNTk1NzA3ODYyfQ.yutytBX0hmv0MJy5BMSfGSBqrPvFzKqLq_-quEgNyF4"
Run Code Online (Sandbox Code Playgroud)

它工作完美。

Out:  {"id":"06584041-c60b-4488-a2c7-fddfd15b443d","email":"user@gmail.com","is_active":true,"is_superuser":false}
Run Code Online (Sandbox Code Playgroud)