Если у вас есть пользователь, и он использует facebook или gmail OAuth для входа в систему, вы можете идентифицировать его, посмотрев в своей текущей таблице пользователей по электронной почте (при условии, что вам требуется подтверждение по электронной почте в вашей системе, иначе оно может стать настоящим беспорядком). Twitter, с другой стороны, не позволяет вам видеть электронное письмо от пользователя, поэтому вам придется искать альтернативный способ. Чем более простой способ объединить учетную запись пользователя с внешней учетной записью пользователя, просто попросите добавить связанные аккаунты в первый логин OAuth.
Забыть их данные для входа не представляется лучшим мотивом для использования OAuth, но для реализации функции «забытый пароль/логин». OAuth, как предполагается, улучшает работу ваших пользователей, подключаясь к другим услугам, а также проще использовать те же «друзья» или «делиться» вещами. (Это, похоже, мое личное мнение, так как у меня нет источника, и @Mischa не согласен с этим). Однако, как вы заметили, это также упрощает ваше управление пользователями, если вы не хотите их реализовать самостоятельно.
Что значит «соответствовать существующим пользовательским данным с данными Facebook или Gmail»? Это единственный способ сделать это, чтобы текущий (зарегистрированный) пользователь подключил свой логин к своей учетной записи Facebook/Gmail. Пользователь должен это сделать. Вы не можете сделать это за них. [OmniAuth] (https://github.com/intridea/omniauth) может облегчить эту задачу. – Mischa
на примере. У некоторых есть имя пользователя: [email protected] И теперь я хочу, чтобы Джон мог получить доступ к своей учетной записи на facebook своей информации о [email protected] Как узнать, могу ли я соответствовать логину facebook с правильным именем пользователя? – Remco
Если этот пользователь зарегистрирован, значит вы знаете имя пользователя, верно? Если этот пользователь не вошел в систему, то ** нет пути **, чтобы соответствовать его учетной записи в Facebook с его учетной записью. (Если вы не NSA) – Mischa