Facebook oauth Войти с пользовательскими параметрами, используя драгоценный камень

Я пытаюсь передать пользовательский параметр в URL-адрес oauth Facebook, чтобы вернуть его в обратный вызов. Я знаю, что это возможно, но я использую драгоценный камень Sorcery, и мне нужно установить параметр динамически, то есть я не могу определить его в файле инициализации sorcery.rb, как сейчас:

Rails.application.config.sorcery.configure do |config|
  config.facebook.callback_url = ENV['FACEBOOK_CALLBACK_URL']
 ...
end

Мне нужно определить в моем контроллере, как я могу сделать это с этим драгоценным камнем?

2 ответа

Решение

Я не нашел этого документированного, но это сработало, поэтому просто вставьте в свой контроллер:

::Sorcery::Controller::Config.facebook.callback_url = ENV['FACEBOOK_CALLBACK_URL'] + "param1=foo"

и param1 будет отправлен вам после аутентификации:)

Использовать state Параметр описан в диалоге oAuth.

Уникальная строка, используемая для поддержания состояния приложения между запросом и обратным вызовом.

Facebook перенаправит обратно на сайт с помощью:

YOUR_REDIRECT_URI#
    access_token=USER_ACCESS_TOKEN
   &expires_in=NUMBER_OF_SECONDS_UNTIL_TOKEN_EXPIRES
   &state=YOUR_STATE_VALUE
Другие вопросы по тегам