В предыдущем посте я уже рассказал о том, как настроить и создать новую службу API учетной записи пользователя.
В этом посте я покажу, как сделать API аутентификации с помощью FastAPI.
I. Хэш реальный пароль перед сохранением в базе данных:
Ранее мы делаем так:
Теперь мы будем хэмфировать пароль, используя библиотеку Bycrypt.
bcrypt is a password hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher, and presented at USENIX in 1999.[1] Besides incorporating a salt to protect against rainbow table attacks, bcrypt is an adaptive function: over time, the iteration count can be increased to make it slower, so it remains resistant to brute-force search attacks even with increasing computation power.
Чтобы установить библиотеку BCRYPT в Python, просто
pipenv install bcrypt
А теперь код для создания нового пользователя будет выглядеть как:
II. Проверьте пароль ввода для аутентификации API -сопоставления
Чтобы сделать это, мы используем bcrypt.checkpw из библиотеки Bcrypt.
Iii.create aempate obstice, если имя пользователя и пароль верны
1. Определите схемы токенов в схемах.py
2. Создайте токен доступа с помощью библиотеки JWT
Используйте библиотеку JWT в Python, установив ее:
pipenv install pyjwt
Затем определите метод, который создает токен доступа из hashed_password в базе данных
IV.Wrap вообще и определите API аутентификации из Main.py Оберните его вообще для создания API аутентификации
Приведенный ниже метод будет проверять имя пользователя и пароль, а затем вернет access_token в ответе, если имя пользователя и пароль верны.
Чтобы запустить сервер, просто нажмите кнопку запуска из IDE или по командной строке:
uvicorn main:app --reload
Пожалуйста, проверьте полный SourceCode из GitHub Анкет
Счастливого кодирования ~~~
Оригинал: “https://dev.to/cuongld2/build-simple-api-service-with-python-fastapi-part-2-88a”