Я принял участие в разработке панели инструментов API Google Analytics для платформы управления контентом и обновил код для использования OAuth2, поскольку в последнее время был отключен более старый oauth. Поток аутентификации и последующие вызовы API полностью работают на моем localhost
для разработки.Google OAuth2 в распространенных самодостаточных пакетах, жалующихся на redirect_uri
Проблема при попытке кода из другого домена. Google хочет redirect_uri будет Whitelisted через консоль разработчика, а если нет, он бросает Error: redirect_uri_mismatch
Как это резидентный (+ с открытым исходным кодом) пакета, люди будут иметь возможность установки на их собственные серверы, я никак не могу добавить все возможные значения redirect_uri
в ключ приложения в консоли разработчика.
После кучи Google и попытки понять документы, у меня создается впечатление, что есть два возможных решения.
пользователей Поручить пойти на консоль разработчиков Google и создать ключ приложения своих собственных, прежде, чем также происходит через поток oauth2 в распределенном приложении, чтобы предоставить код доступа к данным в Google Аналитика.
Используйте значение redirect_uri
urn:ietf:wg:oauth:2.0:oob
с ключом Установленного приложения, инструктируя людей копировать/вставлять код обратно в самообслуживаемое приложение после аутентификации.
Ни один из них не является действительно привлекательным, поскольку он добавляет кучу сложности для пользователя (хотя вариант 2 звучит в основном выполнимо). Есть ли другие варианты, или я просто пропускаю что-то простое?
Это интересно. Согласно https://developers.google.com/identity/protocols/OAuth2#installed, это должно быть хорошо, хотя с опцией «Установленное приложение»? _ В результате процесса создается идентификатор клиента и, в некоторых случаях, секрет клиента, который вы вставляете в исходный код приложения. (В этом контексте секрет клиента явно не рассматривается как секрет.) _ –
Установленные приложения - это скомпилированные приложения. Как говорится в приложении Windows, используя api через .exe-файл. Никто никогда не сможет увидеть идентификатор клиента и секрет клиента в установленном приложении. Но я думаю, что я пошлю несколько обратных ссылок на то, что эта страница не обновляется до текущих условий обслуживания. – DaImTo
Вы можете прочитать мою электронную почту в Google по вопросу о выпуске этого проекта с открытым исходным кодом и ответ на вопрос, почему нам не разрешено это делать. http://www.daimto.com/changes-to-the-google-apis-terms-of-service/ – DaImTo