Open3
FastAPIでOAuth2
一部のページしか翻訳されていないために日本語版ではセキュリティの見出しが分裂してしまっているので注意。
main.py
を作成。
main.app
from fastapi import Depends, FastAPI
from fastapi.security import OAuth2PasswordBearer
app = FastAPI()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
@app.get("/items/")
async def read_items(token: str = Depends(oauth2_scheme)):
return {"token": token}
以下のコマンドを実行し、http://127.0.0.1:8000/docsにAuthorizeと鍵アイコンが増えていることを確認する。
uvicorn main:app --reload
以下のライブラリを導入する。
Python-Multipart
OAuth2でのフォームデータの送信用。
pip install python-multipart
Python-JOSE
JWTトークンの生成と検証用。
pip install python-jose[cryptography]
PassLib
パスワードハッシュの処理用。アルゴリズムはBcryptを指定。
pip install passlib[bcrypt]