Вход/регистрация в Google одним касанием, доступ к личным данным

Я только начал использовать google on-tap для входа/регистрации в своем новом приложении. Он работает отлично, за исключением того, что я не знаю, как я могу запросить у пользователя разрешения на доступ к данным с ограниченной областью?

client.verifyIdToken(
    token,
    CLIENT_ID,
    function(e, login) {
      var payload = login.getPayload(); // <-- payload just containt name,email and picture. I want more
      var userid = payload['sub']; 
    });

person Saman Mohamadi    schedule 05.12.2017    source источник
comment
FirebaseUI-web предлагает полную систему аутентификации с интеграцией с регистрацией в одно касание. Он также обеспечивает поддержку дополнительных областей действия Google OAuth одним нажатием: github.com/firebase/firebaseui-web/#зарегистрируйтесь одним нажатием   -  person bojeil    schedule 06.12.2017


Ответы (1)


Вы можете использовать Вход через Google, чтобы авторизовать больше областей. Передайте адрес электронной почты учетной записи, возвращенный One-Tap, в качестве параметра login_hint в gapi.auth2.init, затем вызовите gapi.auth2.getAuthInstance().signIn(), чтобы пользователь мог предоставить доступ к другим областям, которые требуются вашему приложению.

Вы также можете использовать gapi.auth2.authorize для одноразовой авторизации. (если вы используете gapi.client для выполнения запросов к API Google, вы обычно хотите использовать init/signIn).

person TMSCH    schedule 05.12.2017
comment
Единственная проблема, связанная с вашим предложением, заключается в том, что подсказка по-прежнему появляется и закрывается, хотя я установил prompt:none и login_hint:'[email protected]' в качестве параметров для gapi.auth2.getAuthInstance().signIn(option). Очень надоедливый. - person RedGiant; 26.12.2017
comment
Вы не можете использовать prompt: 'none' в вызове signIn. Только gapi.auth2.authorize принимает этот параметр. - person TMSCH; 28.12.2017