Как передать параметры через запрос входа в Omniauth/Facebook?
Я интегрировал драгоценный камень omniauth-facebook с устройством devise. Я получил подписку и вошел на работу, но я не могу понять, как передать дополнительные параметры в facebook
метод обратного вызова в RegistrationsController, например, URL-адрес, с которого пользователь запустил процесс регистрации.
Параметры, которые я включаю в исходный URL (например, localhost:3000/auth/facebook?url="url"
) не дошли до моего facebook
метод в моем контроллере регистрации.
эрб ссылка
<%= link_to "fb", facebook_omniauth_path(url: "url") %>
маршруты
get 'auth/facebook', as: 'facebook_omniauth'
get 'auth/facebook/callback' => 'registrations#facebook'
контроллер
def facebook
@user = User.from_omniauth(request.env["omniauth.auth"])
if @user.persisted?
redirect_to root_path
else
session["devise.facebook_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
Кто-нибудь знает, как я могу использовать url
параметр в моем facebook
метод?
1 ответ
Решение
omniauth.auth
не отображает дополнительные параметры по умолчанию. Вам нужно использовать omniauth.params
вместо того, чтобы получить url
значение, как показано ниже.
request.env["omniauth.params"]["url"]