Install Fastapi
https://github.com/tiangolo/fastapi
pip install fastapi
C:\fastAPI\jwt-auth>pip install fastapi
C:\fastAPI\jwt-auth>pip install "uvicorn[standard]"
Create main.py
jwt-auth/main.py
#jwt-auth/main.py
from fastapi import FastAPI
import jwt #pip install pyjwt https://pypi.org/project/PyJWT/
from pydantic import BaseModel
from fastapi.encoders import jsonable_encoder
SECRET_KEY = "cairocoders123456789"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 800
dummy_user = {
"username": "cairocoders",
"password": "123456ednalan",
}
app = FastAPI()
class Loginclass(BaseModel):
username: str
password: str
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.post("/login")
async def login_user(login_item: Loginclass):
data = jsonable_encoder(login_item)
if dummy_user['username'] == data['username'] and dummy_user['password'] == data['password']:
encoded_jwt = jwt.encode(data, SECRET_KEY, algorithm=ALGORITHM)
return {'token': encoded_jwt }
else:
return {'message': 'Login failed'}
install PyJWT
https://github.com/jpadilla/pyjwt
pip install PyJWT
C:\fastAPI\jwt-auth>pip install PyJWT
Rn C:\fastAPI\jwt-auth>uvicorn main:app --reload
http://127.0.0.1:8000/docs
