У меня возникла проблема с выпуском Facebook, который произошел сегодня. Я использую Rails omniouth-facebook gem для пользователей аутентификации через Fb.Facebook UID от ответа не совпадает с пользовательским uid, хранящимся в базе данных
Итак, после некоторой отладки я выясняю, что uid
, который я получил в ответ от Facebook, - это не то же самое, что uid
, который конкретный пользователь хранил в базе данных.
У меня есть эта часть:
find_by(provider: auth.provider, uid: auth.uid)
где аутентификации является env['omniauth.auth']
и когда я вручную проверить пользователя с auth.email в моей базе данных uids
не соответствует, поэтому эта функция всегда возвращает ноль и Войти Failure.
Есть ли у кого-нибудь идеи, что может быть проблемой? На самом деле был бы признателен за любой намек.
Спасибо, Боян
Является ли UID областью? В зависимости от API и контекста Facebook может возвращать идентификаторы, уникальные для отношений с конкретной страницей. –
Я не знаю, это область, я полагаю, да, поскольку у меня зарегистрировано приложение Fb. А также при постановке в значительной степени той же конфигурации, и все работает нормально – zauzaj
Я только что проверил, он облагорожен, так как используется V2.5 Дело в том, что он работал около 4-5 часов назад, и я не уверен, что и как его решить. – zauzaj