Я разработал плагин Google Analytics, получая ошибку несоответствия URI при аутентификации. Он хорошо работает на localhost , но когда я установил его на сайт, он отображает эту ошибку.
Мое перенаправление uri, которое создается в адресной строке браузера во время аутентификации и
ошибка ошибки uri
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=auto&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics.readonly&response_type=code&redirect_uri=http%3A%2F%2Fapp. mysite.com% 2Fwp-администратор% 2Fadmin.php% 3Fpage% 3Danalytica-администратора-настройки% 2F & client_id = id.apps.googleusercontent.com & include_granted_scopes = истина & гл = еп & from_login = 1 & а = 6532dbe8b26fcb0f & AuthUser = 3
и на localhost что-то вроде этого, и он работает
https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=auto&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fanalytics.readonly&response_type=code&redirect_uri=http%3A%2F%2Fhttp: //localhost/test/%2Fwp-admin%2Fadmin.php%3Fpage%3Danalytica-admin-settings%2F&client_id=id.apps.googleusercontent.com&include_granted_scopes=true&hl=en&from_login=1&as=6532dbe8b26fcb0f&authuser=3
Единственное различие в боте – это URI перенаправления, один – один локальный, а другой – живой.
С « urn:ietf:wg:oauth:2.0:oob
» в качестве URI переадресации с всплывающим urn:ietf:wg:oauth:2.0:oob
для проверки подлинности работает нормально на локальном сайте в реальном времени. Но URL, о котором я упоминал, работает на localhost, но не работает на реальном сайте.
по документации, выбрав перенаправление uri для insatlledApp
** http: // localhost [: port]
Это значение сигнализирует серверу авторизации Google, что код авторизации должен быть возвращен в качестве параметра строки запроса на веб-сервере на клиенте. Чтобы получить код авторизации с использованием этого URL-адреса, ваше приложение должно прослушиваться на локальном веб-сервере. Это возможно на многих, но не на всех платформах. Если ваша платформа поддерживает его, это рекомендуемый механизм для получения кода авторизации. ** Означает ли это, что мы можем использовать его только на локальном хосте? но я использовал несколько плагинов, которые используют redirecturi для авторизации.
Может ли кто-нибудь дать мне решение для этой или любой идеи, как я могу это достичь.
Вот как я устанавливаю перенаправление uri здесь.
$client->setRedirectUri( site_url() . '/wp-admin/admin.php?page=analytica-admin-settings');
Установленное приложение не требует перенаправления uri на консоль. Проверить скриншот