thehighhomie
@thehighhomie

Совмещение локальной и через соцсети аутентификации?

Как правильно реализуется связка локальной и через соцсети аутентификации?

у меня есть локальная аутентификация по почте и паролю: при логине через почту и пароль, юзеру отправляется пара accessToken и refreshToken.

Теперь я подключил google oauth2 и реализовал следующим образом: когда юзер выбирает свою почту и сабмитится, в стратегии гугла я получаю profile юзера и проверяю, если в базе есть юзер с такой же почтой как из профайла гугла, то я просто возвращаю пару accessToken и refreshToken как в локальной стратегии для этого юзера, если пользователя в базе с такой почтой нет, то я создаю юзера в бд и так же отправляю пару accessToken и refreshToken как в локальной стратегии.

То есть по сути, я использовал google oauth2 аутентификацию только для того, чтобы получить почту, чтобы создать нового пользователя с такой почтой или проверить уже существующего, и отправить пару токенов, которые создаю сам на беке. вот и все.

Но мне кажется, что возможно я не правильно это реализовал, ведь при аутентификации через google oauth2 я могу получить accessToken, refreshToken и может мне в этом случае нужно их как-то сохранять где-то или отправлять на клиент, вместо того, чтобы отправлять пару токенов как в локальной стратегии, то есть самому создавать?

Но с другой стороны, если соц сетей штук 5, через которые нужна возможность аутентифицировать юзера, то и писанины будет много разной, под разный тип аутентификации...

подскажите пожалуйста где я ошибся и как нужно
  • Вопрос задан
  • 30 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы