fastapi token 生成和验证
FastAPI是一个现代的高性能Web框架,可以轻松地生成和验证token。下面是生成和验证token的基本步骤:
- 安装PyJWT和fastapi-jwt:
pip install PyJWT fastapi-jwt
- 生成token:
from fastapi import FastAPI
from fastapi_jwt_auth import AuthJWT
app = FastAPI()
@AuthJWT()
@app.post('/login')
def login(auth_jwt: AuthJWT, username: str, password: str):
if username == "admin" and password == "admin":
access_token = auth_jwt.create_access_token(subject=username)
return {"access_token": access_token}
else:
return {"msg": "Invalid username or password"}
在上面的代码中,我们使用AuthJWT装饰器来包装login函数。然后,我们使用create_access_token方法生成一个token,其中subject参数传递了用户名。最后,我们将token作为JSON响应的一部分返回。
- 验证token:
from fastapi import FastAPI
from fastapi_jwt_auth import AuthJWT, jwt_required
app = FastAPI()
@AuthJWT()
@app.post('/protected')
@jwt_required()
def protected(auth_jwt: AuthJWT):
username = auth_jwt.get_jwt_subject()
return {"msg": f"Hello, {username}"}
在上面的代码中,我们使用AuthJWT装饰器来包装protected函数,然后使用jwt_required装饰器来检查token是否存在。如果token存在,我们使用get_jwt_subject方法获取用户名并将其返回。
这就是如何在FastAPI中生成和验证token的基本步骤。你可以根据你的需求进行更改和扩展。
原文地址: https://www.cveoy.top/t/topic/bJkF 著作权归作者所有。请勿转载和采集!