Passport-Google 项目教程
1. 项目的目录结构及介绍
passport-google/
├── lib/
│ ├── index.js
│ ├── strategy.js
├── test/
│ ├── strategy.test.js
├── examples/
│ ├── express/
│ ├── app.js
│ ├── config.js
├── package.json
├── README.md
- lib/: 包含项目的主要逻辑文件。
- index.js: 项目的入口文件。
- strategy.js: 实现 Google OAuth 认证策略的文件。
- test/: 包含项目的测试文件。
- strategy.test.js: 针对认证策略的测试文件。
- examples/: 包含示例应用。
- express/: 使用 Express 框架的示例应用。
- app.js: 示例应用的启动文件。
- config.js: 示例应用的配置文件。
- express/: 使用 Express 框架的示例应用。
- package.json: 项目的依赖和脚本配置文件。
- README.md: 项目的说明文档。
2. 项目的启动文件介绍
在 examples/express/app.js
中,我们可以看到示例应用的启动文件。以下是关键部分的代码:
const express = require('express');
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
const config = require('./config');
const app = express();
passport.use(new GoogleStrategy({
clientID: config.google.clientID,
clientSecret: config.google.clientSecret,
callbackURL: config.google.callbackURL
}, (accessToken, refreshToken, profile, done) => {
// 处理用户认证后的逻辑
return done(null, profile);
}));
app.use(passport.initialize());
app.use(passport.session());
app.get('/auth/google', passport.authenticate('google', {
scope: ['https://www.googleapis.com/auth/userinfo.profile']
}));
app.get('/auth/google/callback', passport.authenticate('google', {
successRedirect: '/',
failureRedirect: '/login'
}));
app.listen(3000, () => {
console.log('Example app listening on port 3000!');
});
- passport.use(): 配置 Google OAuth 策略。
- app.get('/auth/google'): 定义 Google 认证的请求路由。
- app.get('/auth/google/callback'): 定义 Google 认证回调的路由。
- app.listen(3000): 启动应用并监听 3000 端口。
3. 项目的配置文件介绍
在 examples/express/config.js
中,我们可以看到示例应用的配置文件。以下是关键部分的代码:
module.exports = {
google: {
clientID: 'YOUR_GOOGLE_CLIENT_ID',
clientSecret: 'YOUR_GOOGLE_CLIENT_SECRET',
callbackURL: 'http://localhost:3000/auth/google/callback'
}
};
- clientID: Google 应用的客户端 ID。
- clientSecret: Google 应用的客户端密钥。
- callbackURL: 认证成功后的回调 URL。
以上是 passport-google
项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。