Я создаю бэкэнд Fastapi для аутентификации пользователей с JWT.
Я использую библиотеку FastApi-JWT-Auth для создания доступа и обновления токенов.@router.post('/login')
def login_user(user: UserRequest, db: Session = Depends(get_db), Authorize: AuthJWT = Depends()):
db_user = db.query(UserModel).filter(UserModel.email == user.email).first()
if not db_user or not verify_pwd(user.pwd, db_user.hashed_pwd):
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail='Invalid Credentials')
access_token = Authorize.create_access_token(subject=db_user.email)
refresh_token = Authorize.create_refresh_token(subject=db_user.email)
Authorize.set_refresh_cookies(refresh_token) # to send refresh token in cookies
return {
'access_token': access_token,
}
< /code>
Но получил ошибку, которая сказала, что мне нужно установить authjwt_token_location. < /p>
Я добавил authjwt_token_location в классе настроек, который я сделал: < /p>
class Settings(BaseSettings):
authjwt_secret_key: str = os.environ.get('JWT_SECRET_KEY','YOUR_SECRET_KEY')
authjwt_token_location: Optional[Sequence[StrictStr]] = {'cookies'}
@AuthJWT.load_config
def get_config():
return Settings()
< /code>
Я также пытался использовать: < /p>
authjwt_token_location: set = {'cookies'} # still gives error
< /code>
После настройки authjwt_token_location Я продолжаю получать ошибку проверки pydantic_core: < /p>
pydantic_core._pydantic_core.ValidationError: 1 validation error for Settings
authjwt_token_location
Input should be an instance of Sequence [type=is_instance_of, input_value={'cookies'}, input_type=set]
< /code>
Я также пытался использовать различные типы последовательностей, например, список, корзин, Str и т. Д., Но получите эту ошибку: < /p>
pydantic_core._pydantic_core.ValidationError: 1 validation error for LoadConfig
authjwt_token_location
Value error, The 'authjwt_token_location' must be between 'headers' or 'cookies' [type=value_error, input_value=['cookies'], input_type=list]
< /code>
Я широко искал, но ничего не мог найти. /> FASTAPI-JWT-AUTH: 0.5.0 < /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/797 ... antic-core
Как мне установить местоположение токена обновления JWT в файлы cookie, не имея pydantic_core.validationError в моем бэк ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Используйте pydantic ValidationError("msg") в качестве переменной [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-