API аутентификации Google JS перенаправляет на неправильный URL - PullRequest
0 голосов
/ 30 октября 2018

Я использовал этот код ниже в течение нескольких лет, и он работал нормально до месяца назад.

MY_CUSTOM_URL объявлено и зарегистрировано в URI авторизованного перенаправления Google.

        function initClient() {   
                    gapi.client.init({
                        apiKey: APKEY,
                        clientId: CLIENTID,
                        discoveryDocs: ["https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"],
                        scope: "https://www.googleapis.com/auth/calendar",
                        redirect_uri: MY_CUSTOM_URL,
                        ux_mode: 'redirect',                
                    }).then(function () {                    
gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);                        
updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());

                    });
                }

Когда я пытаюсь вызвать gapi.auth2.getAuthInstance().signIn();, он просто игнорирует MY_CUSTOM_URL и перенаправляет на корневой домен веб-сайта по умолчанию, даже когда я использую localhost (который также зарегистрирован в Google), и аутентификация не выполнена.

Если я прокомментирую ux_mode , он откроет всплывающее окно и будет работать правильно, но я не могу использовать всплывающее окно для этой цели.

Спасибо

1 Ответ

0 голосов
/ 30 октября 2018

из Док

Обязательно. Определяет, где сервер API перенаправляет пользователя после Пользователь завершает процесс авторизации. Значение должно точно соответствовать одно из значений redirect_uri, перечисленных для вашего проекта в API Консоль . Обратите внимание, что схема http или https, регистр и завершающий слеш ('/') должны совпадать.

проверьте redirect_uri в API Console , сделайте так, чтобы он соответствовал вашему MY_CUSTOM_URL

здесь вы можете найти его

выберите api => credintals => выберите идентификаторы клиента OAuth 2.0 => авторизованные URI перенаправления [поле ввода]

...