google sign_in: как использовать redirect_uri в javascript api

1

Я пытаюсь интегрировать знак google на моем веб-сайте, и я использую firebase для аутентификации, а позже я разрешаю пользователю получать доступ к своим дискам Google.

и после получения доступа к своим Google drives я хочу, чтобы страница перенаправлялась на другую страницу. (localhost:8080/afterlogin), где будет отображаться " ДОБРО ПОЖАЛОВАТЬ ",

однако пользователь не попадает на нужную страницу, я добавил точный redierct_uri в консоли разработчика, но не помог.

вот мой код для инициализации объекта auth.

gapi.load('auth2', function () {
        // Retrieve the singleton for the GoogleAuth library and set up the client.
        auth2 = gapi.auth2.init({
            client_id: 'MYID.apps.googleusercontent.com',
            cookiepolicy: 'single_host_origin',
            redirect_uri: 'http://localhost:8080/afterlogin'

            // Request scopes in addition to 'profile' and 'email'
            //scope: 'additional_scope'
        });

Я использую javascript, и я читаю в документах, что javascript api не использует redirect_uris.

Однако в документах здесь

говорится, что мы можем добавить redirect_uris, используя gapi.auth2.ClientConfig вместо gapi.auth2.init.

но, однако, использование gapi.auth2.ClientConfig вместо gapi.auth2.init дает мне и ошибку. поэтому я добавил redirect_uri в последнем, как показано в приведенном выше коде. возможно, поэтому он не работает?

или я делаю что-то неправильно в использовании gapi.auth2.ClientConfig?

любые догадки?

Теги:
google-api
firebase-authentication
url-redirection
google-signin

1 ответ

2

В документах сказано, что вам нужно переопределить redirect_uri по умолчанию, используя ux_mode = 'redirect'. Иногда документация Google намного сложнее, чем нужно. Я предполагаю, что вы обрабатываете полученные обещания из кода, который вы опубликовали. Я бы попробовал это:

     gapi.load('auth2', function () {
        auth2 = gapi.auth2.init({
            client_id: 'MYID.apps.googleusercontent.com',
            cookiepolicy: 'single_host_origin',
            ux_mode: 'redirect',
            redirect_uri: 'http://localhost:8080/afterlogin'

            // Request scopes in addition to 'profile' and 'email'
            //scope: 'additional_scope'
        });

        auth2.signIn().then(function() {
          var profile = auth2.currentUser.get().getBasicProfile();
          console.log('Full Name: ' + profile.getName());
        })

Из документов, под gapi.auth2.ClientConfig

Изображение 174551

редактировать - я исправил проблему со знаком =

  • 0
    использование Client.Config дает мне ошибку Uncaught TypeError: gapi.auth2.ClientConfig is not a function . Более того, когда я делаю это в gapi.auth.init это не gapi.auth.init мне ошибки, а возвращает обещание вроде ' localhost: 8080 / afterlogin # id_token = the_id_token '.
  • 0
    Более того, есть ли причина сделать мой gapi загрузки gapi невидимым? как мой client_id и другие конфиденциальные данные загружаются тоже во вкладке сети. простите меня, чтобы задать этот вопрос, который не может быть связан с настоящим.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню