fastapi 设置授权令牌基本
fastapi set auth token basic
我正在尝试为我正在设置的基本 API 设置一个安全 API 令牌。
由于某种原因,在使用此设置时它不起作用,即
async def get_emotions(uid, substance, x_token: Optional[str] = Header(None)):
if x_token != os.getenv('APIKEY'):
raise HTTPException(status_code=401,
detail='wrong api key',
headers={"WWW-Authenticate": "Bearer"})
使用这样的查询,
curl --location --request GET 'http://0.0.0.0:8008/Emotions.json?uid=xxxx&substance=Dexamphetamine' \
--header 'x_token: example$oken'
正在返回 401 未验证错误,即使我的环境变量正在获取相同的标记。
有解决这个问题的想法吗?
您需要在 [=13] 中将 convert_underscores
设置为 False
=]
因此,您的函数将是,
async def get_emotions(
uid, substance, x_token: Optional[str] = Header(None, convert_underscores=False)
):
if x_token != os.getenv("APIKEY"):
raise HTTPException(
status_code=401,
detail="wrong api key",
headers={"WWW-Authenticate": "Bearer"},
)
return {"foo": "bar"}
我正在尝试为我正在设置的基本 API 设置一个安全 API 令牌。
由于某种原因,在使用此设置时它不起作用,即
async def get_emotions(uid, substance, x_token: Optional[str] = Header(None)):
if x_token != os.getenv('APIKEY'):
raise HTTPException(status_code=401,
detail='wrong api key',
headers={"WWW-Authenticate": "Bearer"})
使用这样的查询,
curl --location --request GET 'http://0.0.0.0:8008/Emotions.json?uid=xxxx&substance=Dexamphetamine' \
--header 'x_token: example$oken'
正在返回 401 未验证错误,即使我的环境变量正在获取相同的标记。
有解决这个问题的想法吗?
您需要在 [=13] 中将 convert_underscores
设置为 False
=]
因此,您的函数将是,
async def get_emotions(
uid, substance, x_token: Optional[str] = Header(None, convert_underscores=False)
):
if x_token != os.getenv("APIKEY"):
raise HTTPException(
status_code=401,
detail="wrong api key",
headers={"WWW-Authenticate": "Bearer"},
)
return {"foo": "bar"}