FastAPI是一个现代的高性能Web框架,可以轻松地生成和验证token。下面是生成和验证token的基本步骤:

  1. 安装PyJWT和fastapi-jwt:
pip install PyJWT fastapi-jwt
  1. 生成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响应的一部分返回。

  1. 验证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的基本步骤。你可以根据你的需求进行更改和扩展。

fastapi token 生成和验证

原文地址: https://www.cveoy.top/t/topic/bJkF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录