Node.js TravisCI构建上的Google身份验证失败,请求clientID
我编写了一个passport google登录代码,使用户可以使用google plus登录应用程序。该应用程序在我的设备上运行,但当我将其推送到Github供Travis构建时,会出现如下类型的错误Node.js TravisCI构建上的Google身份验证失败,请求clientID,node.js,oauth-2.0,passport.js,travis-ci,google-oauth,Node.js,Oauth 2.0,Passport.js,Travis Ci,Google Oauth,我编写了一个passport google登录代码,使用户可以使用google plus登录应用程序。该应用程序在我的设备上运行,但当我将其推送到Github供Travis构建时,会出现如下类型的错误 TypeError: OAuth2Strategy requires a clientID option at Strategy.OAuth2Strategy (/home/travis/build/devcareer/Dae-Alright-Backend/node_modules/pa
TypeError: OAuth2Strategy requires a clientID option
at Strategy.OAuth2Strategy (/home/travis/build/devcareer/Dae-Alright-Backend/node_modules/passport-oauth2/lib/strategy.js:86:34)
at new Strategy (/home/travis/build/devcareer/Dae-Alright-Backend/node_modules/passport-google-oauth20/lib/strategy.js:52:18)
at Object.<anonymous> (/home/travis/build/devcareer/Dae-Alright-Backend/src/config/passport-config/google-passport-config.js:1:5044)
at Module._compile (internal/modules/cjs/loader.js:1121:30)
at Module.replacementCompile (/home/travis/build/devcareer/Dae-Alright-Backend/node_modules/append-transform/index.js:58:13)
我在这一点上感到困惑。它在本地工作,但无法使用TravisCI进行构建。也许TravisCI无法访问环境变量EAHH。。。谢谢你的主意,这就是问题所在。使用此资源解决:也许TravisCI无法访问环境变量SYEAHH。。。谢谢你的主意,这就是问题所在。使用此资源解决的问题:
import { config } from 'dotenv';
import passport from 'passport';
import GoogleStrategy from 'passport-google-oauth20';
import database from '../../database/models';
import { findBySocialID } from './config';
const { User } = database;
config();
passport.use(new GoogleStrategy({
// options
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: '/auth/google/redirect',
},
(accessToken, refreshToken, profile, done) => {
try {
findBySocialID(profile.id, 'google').then(async currentUser => {
if (currentUser) {
return done(null, currentUser);
}
const user = {
socialID: profile.id,
provider: 'google',
firstName: profile.name.givenName,
lastName: profile.name.familyName,
email: profile.emails[0].value,
phone: '',
address: '',
};
await User.create(user);
return done(null, user);
});
} catch (err) {
done(err, false);
}
},),);
export default passport;