gpt4 book ai didi

node.js - 将 PassportJS google 身份验证与 nodejs google api 库一起使用

转载 作者:搜寻专家 更新时间:2023-11-01 00:33:25 28 4
gpt4 key购买 nike

我目前正在考虑使用 nodejs 客户端实现一个 google api:

https://github.com/google/google-api-nodejs-client/

我正在尝试使用 Passport 进行身份验证,这似乎有效@

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

var user = {
id: profile.id,
email: profile.email,
firstName: profile.given_name,
lastName: profile.family_name,
accessToken: accessToken
};

return done(null, user);
});
}
));

在我的谷歌身份验证回调中:

app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/login' }),
function(req, res) {

//do something here with the google api

});

我可以得到 req.user,它有 accessToken

但是,Google api nodejs 客户端的文档并不清楚如何使用 accessToken。包含的示例显示 OAauth2Client 检索 token ,但我猜这部分已经使用 Passport 涵盖了吗?

最佳答案

我不熟悉 google-api-nodejs-client,但这在他们的文档中:

oauth2Client.credentials = {
access_token: 'ACCESS TOKEN HERE',
refresh_token: 'REFRESH TOKEN HERE'
};

client
.plus.people.get({ userId: 'me' })
.withAuthClient(oauth2Client)
.execute(callback);

我假设您只需将凭据设置为 Passport 提供的凭据,一切都会正常进行。

不过,老实说,我发现这些 API 包装器真的很做作,建议只使用 request .这样,您就可以使用熟悉的模块访问来自任何提供商的任何 API 服务。

关于node.js - 将 PassportJS google 身份验证与 nodejs google api 库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17923586/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com