Использует ли Omniauth неверный uri для авторизации в facebook?

Я слежу за Railscast для Simple OmniAuth (в текстовом формате здесь: http://asciicasts.com/episodes/241-simple-omniauth). Все работает отлично, пока я не добавлю логин Facebook. При попытке использовать ссылку «Войти через Facebook» я получаю следующую ошибку.

Недопустимый redirect_uri: данный URL-адрес не разрешен конфигурацией приложения.

URL-адрес моей страницы со ссылкой для входа: «http://mluton.example.com:3000/characters/». В настройках веб-сайта моего приложения Facebook для URL-адреса сайта установлено значение «http://mluton.myfitv.com:3000/auth/facebook/callback/». Косая черта в конце обязательна. Это то, что omniauth установит в качестве обратного вызова при выполнении запроса аутентификации. Однако, если я посмотрю URL-адрес на странице с вышеуказанной ошибкой, я увижу это в конце.

redirect_uri=http%3A%2F%2Fmluton.example.com%3A3000%2Fauth%2Ffacebook%2Fcallback

Без завершающей косой черты. Есть ли разрыв между omniauth и Facebook, или я что-то упускаю? Есть ли способ переопределить URL-адрес обратного вызова по умолчанию, который генерирует omniauth?


person Michael Luton    schedule 04.02.2011    source источник


Ответы (2)


Это потребовало проб и ошибок, чтобы начать работать самостоятельно. Попробуйте поставить вопросительный знак в конце URL-адреса обратного вызова. Это сработало для меня в консоли разработчика: http://:3000/users/auth/facebook/callback?

person seeingidog    schedule 04.02.2011
comment
Похоже, Facebook больше не принимает '?' в конце URL-адреса. облом. - person Michael Luton; 06.04.2011

Вам не нужен компонент пути URL-адреса. Попробуйте установить для URL сайта значение http://mluton.myfitv.com:3000/ в настройках вашего приложения. Вы также можете установить домен сайта на mluton.myfitv.com.

Вы можете найти документацию Facebook по аутентификации на стороне сервера полезной, хотя она немного Кратко о деталях того, как именно работает проверка на основе redirect_uri.

person Adam Spiers    schedule 17.05.2012