LinkedIn Omniauth OAuth 2 в Rails - ошибка аутентификации при неправильном перенаправлении

Я пытаюсь выяснить, как настроить аутентификацию LinkedIn с моим приложением Rails 4, которое использует devise и omniauth. У меня есть: gem 'omniauth-linkedin-oauth2' в моем файле gem.

Я зарегистрировал свое приложение в LinkedIn и вставил секрет и ключ в свое приложение. Форум разработчиков LinkedIn подтвердил, что процесс работает, но говорит, что зарегистрированный путь перенаправления не совпадает с тем, что у меня есть в моем обратном вызове.

У меня есть контроллер omniauth_callbacks, в котором есть следующий код:

def linkedin
    @user = User.find_for_linkedin_oauth(request.env["omniauth.auth"])
      if @user.persisted?
        redirect_to root_path, :event => :authentication
        # sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
        #  set_flash_message(:notice, :success, :kind => "LinkedIn") if is_navigational_format?
        else
          session["devise.linkedin_data"] = request.env["omniauth.auth"]
          redirect_to root_path
        end
      end

Я перенаправляю на мой root_path.

Мой root_path определен в моем файле rout.rb как: home # home.

В моей папке views у меня есть папка с именем home, с файлом home.html.erb.

Я зарегистрировал URL перенаправления в LinkedIn как: www.xxxxxxx.com/home, а также пробовал следующее: www.xxxxxxx.com, www.xxxxxxx.com/views/home/home, www.xxxxxxx.com/home/ Главная. Ни один из этих путей не работает.

Кто-нибудь может помочь мне понять, как определить путь перенаправления, который LinkedIn может распознать как совпадающий с моим root_path.

Заранее большое спасибо.

1 ответ

Решение

Бежать rake routes и посмотреть, чем заканчивается шаблон URI callback,

Скорее всего, вы найдете шаблон как:

/users/auth/:action/callback(.:format)

Это означает, что при разработке ваш URL обратного вызова будет:

http://localhost:3000/users/auth/linkedin/callback

И в производстве ваш URL обратного вызова будет:

www.xxxxxxx.com/users/auth/linkedin/callback
Другие вопросы по тегам