Я пытаюсь использовать Wordpress для аутентификации пользователей моего Rails-приложения с помощью следующего плагина Omniauth:
https://github.com/jwickard/omniauth-wordpress-oauth2-plugin
Я внимательно следовал инструкциям и продублировал его пример, но он не работает. Что действительно удивительно, потому что в этом нет ничего особенного. Тем не менее, я нашел здесь несколько тем, подобных этой, в которых рассказывается о той же проблеме, что и у меня:
Devise, OmniAuth & Facebook: «Не найдено. Аутентификация passthru.»
Когда я нажимаю «Вход с помощью Wordpress» (который автоматически вставляется на мою страницу входа в Devise), я просто получаю 404 с надписью «Не найдено. Аутентификация passthru», которая является ответом на заглушку для passthru
метод в источниках Devise. Маршруты грабли просто отлично, и выглядят как все примеры. Я перезагружал сервер десятки раз.
Несмотря на несколько попыток установить site:
и authorization_url:
в client_options
, как в моей конфигурации devise, так и непосредственно в источниках плагина, мое приложение никогда не перенаправляется на мой сайт Wordpress. У меня есть около 10 часов, чтобы разобраться с этим, и я не знаю, что должно отвечать за фактическую отправку меня на сайт, чтобы сделать аутентификацию. Еще больше усложняет выяснение этого факта, что почти каждая ссылка, которую я могу найти для перенаправления в такого рода сценарии, касается обратного вызова на мой сайт Rails после завершения аутентификации. Я никогда не смогу зайти так далеко.
Существует много запутанных ссылок на эту проблему в SO и Интернете в целом. В моем OmniauthCallbacksController есть некоторые разговоры о создании «настоящего» метода passthru
или action_missing
, но это устаревшая информация. Существует много разговоров о том, чтобы я определил omniauth_providers
в моей модели User, и я попробовал его с и без, но этого нет ни в одной документации по этому плагину.
Я пытался взглянуть на файл стратегии плагина, и он, похоже, не отличается от других плагинов Oauth2 для Facebook, Google или чего-либо еще, что я проверял. Кажется, что есть очень простая вещь, которую я должен установить, чтобы заставить все это работать, но я не могу найти это, и у меня заканчиваются идеи о том, как отследить это. Последний раз плагин обновлялся около 5 лет назад. Кто-нибудь еще использует это в современных версиях Devise, Omniauth и Wordpress? Если да, то можете ли вы дать мне понять, как это работает?