Локальная аутентификация того, кто использовал только Oauth2.0 - PullRequest
2 голосов
/ 04 августа 2020

Можно ли локально аутентифицировать пользователя, который вошел на мой веб-сайт только с помощью Oauth 2 (возможно, с помощью Google или Facebook)?

Допустим, пользователь когда-либо входил в мое приложение только с помощью Oauth 2 (например, Google) и однажды решает войти в систему локально (по электронной почте или имени пользователя и паролю), он не сможет войти в систему, потому что вы можете не получить доступ к паролю пользователя через Oauth. Например, используя Oauth 2, я мог сохранить в базе данных только его Google_id и отображаемое имя. Он, вероятно, вообще не знает своего Google_id.

Может ли он войти в систему локально? Я знаю, что ситуация, которую я только что создал, сделает это невозможным, но есть ли способ структурировать базу данных так, чтобы пользователь мог войти в систему локально или с помощью Oauth 2 и получить доступ к той же учетной записи?

Кроме того, не будет ли это так, если он решит войти в систему, используя Oauth 2 через Facebook вместо Google?

Если бы кто-нибудь мог пролить свет на это для меня, я был бы очень благодарен! Я беспокоюсь только потому, что, если пользователь войдет в систему через Oauth 2, добьется большого прогресса на моем веб-сайте, а затем войдет в систему локально или через другую платформу социальных сетей (через Oauth 2), они будут сбиты с толку и, возможно, ошибочно полагают, что их данные были потеряно.

Я использую SQL и Node.js (Express), но это не имеет значения.

...