如何从Google身份验证获取用户地址和电话号码

时间:2019-04-13 04:18:02

标签: node.js google-api passport.js

Iam使用passport.js进行身份验证,使用password-google-oauth20

我想知道如何获取用户信息,例如地址,电话号码?到目前为止,我只能获取诸如电子邮件,姓名,个人资料之类的信息,而不能得到地址和电话号码。使用Google登录后如何访问用户数据地址?

是否有用于访问该用户地址和电话号码的API?我该怎么办?

这是我的代码:

护照设置

passport.use(
    new GoogleStrategy({
        //options for the google strategy
        callbackURL: keys.origin.url + '/api/auth/google/redirect',
        clientID: keys.google.clientID,
        clientSecret: keys.google.clientSecret,
        userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo'
    }, (accessToken, refreshToken, profile, done) => {
          console.log(profile);
    })

);

路线

routes.get('/auth/google',passport.authenticate("google",{
    scope: ["profile", "email"]
}));

1 个答案:

答案 0 :(得分:0)

    routes.get('/auth/google',passport.authenticate("google",{
    scope: [
        'https://www.googleapis.com/auth/userinfo.profile',
        'https://www.googleapis.com/auth/userinfo.email',
        'https://www.googleapis.com/auth/user.phonenumbers.read',
        'https://www.googleapis.com/auth/user.addresses.read',
        'https://www.googleapis.com/auth/profile.agerange.read'
  ]
}));

这将返回用户数据