Аутентификация с помощью Vue.js | Flask-RESTful и вход в Google
Я все еще новичок как в Vue.js, так и в Flask. Я создал простое приложение todo, которое использует конечные точки JSON из Flask и использует Vue.js для отображения пользовательского интерфейса.
Мое приложение имеет модель TODO, PROJECT и USER. Я успешно реализовал "обычный вход в систему" через свою собственную модель пользователя. Поток для этого:
- Пользователь заполняет имя пользователя и пароль.
- POST-запрос к Flask API, который сохраняет пользователя с хешированным паролем в базе данных.
- Пользователь может войти через конечную точку /auth и получить взамен веб-токен JSON.
- Когда пользователь выходит из системы, токен уничтожается.
Теперь я хочу реализовать вход в Google вместе с существующей моделью пользователя. Я мог бы успешно создать вызов API Google и получить пользовательские данные из Google в клиенте vue.js. Но это то, где я застрял.
- Что я должен сохранить в моей базе данных сейчас? У меня нет пароля для пользователя, но есть только токен для идентификации позже, когда я отправляю данные на сервер Flask.
- Должен ли я сохранять пользователей Google Auth и обычных пользователей в одной таблице базы данных? Как я могу различить их, когда я получаю их информацию, чтобы проверить, существует ли пользователь?
Поскольку я очень обеспокоен созданием безопасных приложений в будущем, я хотел бы по-настоящему понять, какова наилучшая практика в такой ситуации.
Спасибо за вашу помощь!
1 ответ
Для всех, кто интересуется этой темой: я закончил тем, что сохранил всех пользователей в одной таблице базы данных и создал логическое значение, независимо от того, вошел ли пользователь в систему с помощью пароля / имени пользователя или с помощью поставщика OAuth. Если это так, предоставленный токен может быть использован для проверки пользователя.