Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用Passportjs仅对某些google用户进行身份验证吗?_Javascript_Passport.js - Fatal编程技术网

Javascript 我可以使用Passportjs仅对某些google用户进行身份验证吗?

Javascript 我可以使用Passportjs仅对某些google用户进行身份验证吗?,javascript,passport.js,Javascript,Passport.js,因此,我很好奇如何制作一个内联网类型的应用程序,允许我的用户通过谷歌进行身份验证。我正在使用PassportJS链接它们,但我想知道您是否只允许某些用户(我选择)进行身份验证 我在想我可以使用google群组或其他什么,只允许该群组通过身份验证?…我不确定。如果有人能帮我,那就太酷了是的,你可以这样做。例如,如果您使用的是passport google oauth,我将向您指出以下代码示例: 在验证功能中,在passport验证传入用户的google帐户后,您可以自行决定,例如调用google

因此,我很好奇如何制作一个内联网类型的应用程序,允许我的用户通过谷歌进行身份验证。我正在使用PassportJS链接它们,但我想知道您是否只允许某些用户(我选择)进行身份验证


我在想我可以使用google群组或其他什么,只允许该群组通过身份验证?…我不确定。如果有人能帮我,那就太酷了

是的,你可以这样做。例如,如果您使用的是
passport google oauth
,我将向您指出以下代码示例:

验证
功能中,在passport验证传入用户的google帐户后,您可以自行决定,例如调用google API检查该用户是否属于特定的google组

passport.use(new GoogleStrategy({
    clientID: GOOGLE_CLIENT_ID,
    clientSecret: GOOGLE_CLIENT_SECRET,
    callbackURL: "http://127.0.0.1:3000/auth/google/callback"
  },
  function(accessToken, refreshToken, profile, done) {

    // Your custom group membership checking goes here
    checkGroupMembership(profile, function(err, isMember) {
      if (isMember) {
        done(null, profile);
      } else {
        done(new Error('Not part of google group!'));
      }
    });
  }
));