401 Несанкционированная проблема в FastAPIPython

Программы на Python
Anonymous
401 Несанкционированная проблема в FastAPI

Сообщение Anonymous »

Как исправить ошибку 401 Unauthorized в FastAPI? Я проверил заголовки, токен и почти все остальное, но ничего не помогло.
Я установил аутентификацию JWT и добавил OAuth2PasswordBearer на страницу входа для авторизации доступа. Я также пробовал жестко запрограммировать время истечения срока действия, но даже это не сработало.
Код:
wd_context = CryptContext(schemes=["bcrypt"], deprecated="auto")

oauth_scheme = OAuth2PasswordBearer(tokenUrl='login')

SECRET_KEY ="09d25e094faa6ca2556c818166b7a9563b93f7099f6f0f4caa6cf63b88e8d3e7"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30

#Creating an access token
def create_access_token(data: dict):
to_encode = data.copy()
expire = datetime.now(timezone.utc) + timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
to_encode.update({"exp": expire})
encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
return encoded_jwt

#Decoding the access token
def verify_access_token(token: str, credentials_exception):
try:
payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
#payload : dict = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
id : str = payload.get("parent_id")
#if id is None:
# raise credentials_exception
token_data = schemas.TokenData(id=id)
except jwt.InvalidTokenError:
raise credentials_exception
return token_data

def get_current_user(token: str = Depends(oauth_scheme), db: Session = Depends(database.get_db)):
credentials_exception = HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
detail="Could not validate credentials", headers={"WWW-Authenticate": "Bearer"})
token = verify_access_token(token, credentials_exception)
user_query = db.query(models.ParentInformation).filter(models.ParentInformation.id == token.id)
return user_query.first()


Подробнее здесь: https://stackoverflow.com/questions/788 ... in-fastapi

Вернуться в «Python»