Есть ли работающий интерфейс Devise / Omniauth / Oauth2 с Wordpress? - PullRequest
1 голос
/ 11 марта 2019

Я пытаюсь использовать 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? Если да, то можете ли вы дать мне понять, как это работает?

1 Ответ

0 голосов
/ 29 июня 2019

Я наконец начал прослеживать драгоценный камень и обнаружил, где он терпел неудачу. Когда я искал эти дополнительные проблемы, я наконец понял, что существует около 25 вилок этого драгоценного камня, и многие из них решили эту проблему. Я использовал именно этот: https://github.com/bkno/omniauth-wordpress-oauth2-plugin

...