Google oAuth2 - экран согласия и всплывающее окно - PullRequest
0 голосов
/ 18 мая 2019

Я работаю над интеграцией с календарем Google, и все работает, как и ожидалось, за исключением одного: по какой-то причине, когда пользователь перенаправляется на экран согласия, Google сначала показывает всплывающее окно с просьбой разрешить необходимые разрешения:

enter image description here

И как только пользователь нажимает «отказать» или «разрешить», пользователю предоставляется экран окончательного согласия, где он должен снова нажать «разрешить» или «отменить»:

enter image description here

Вопрос: как мне избавиться от этого всплывающего окна и убедиться, что пользователь должен нажать «разрешить»"кнопка только один раз, как на последнем ссылочном скриншоте ниже?

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

Еще одна вещь, которую я заметил, заключается в том, что хотя в моем случае на экране согласия отображается флажок, а в указанном веб-приложении нет флажка, и пользователь должен один раз нажать кнопку «Разрешить» или «Отменить» (и в целом экран выглядит немногоиначе):

enter image description here

Вот мой код генерации authUrl:

    //"googleapis": "^39.2.0",

    const {google} = require('googleapis/build/src/index');

    let oauth2ClientGlobal = new google.auth.OAuth2(
        "{{clientId}}",
        "{{clientSecret}}",
        "https://example.com/calendarCallback"
    )
    let authUrl = oauth2ClientGlobal.generateAuthUrl({
        access_type: 'offline',
        scope: ['https://www.googleapis.com/auth/calendar.events'],
    });

1 Ответ

1 голос
/ 20 мая 2019

Новые экраны предполагают поведение. Google объявил, что они развернут гранулярный контроль разрешений в 2018 году. См. https://www.blog.google/technology/safety-security/project-strobe/ и https://developers.googleblog.com/2018/10/more-granular-google-account.html.

...