@acceleratxr/passport-google 中文文档教程
passport-google
使用 OAuth 2.0 API 使用 Google 访问令牌进行身份验证的 Passport 策略。
此模块允许您使用 Passport 框架在 Node.js 应用程序中使用 Google 进行身份验证。
Installation
npm install @acceleratxr/passport-google
或
yarn add @acceleratxr/passport-google
Usage
Configure Strategy
Google 身份验证策略使用 Google 帐户和 OAuth 2.0 令牌对用户进行身份验证。 策略 需要一个 verify
回调来执行对用户帐户的查找,给定一个经过验证的 OAuth 2.0 令牌。
JavaScript
const GoogleStrategy = require('@acceleratxr/passport-google');
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
TypeScript
import { GoogleStrategy } from "@acceleratxr/passport-google";
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
Authenticate Requests
使用 passport.authenticate()
,指定 google
作为验证请求的策略。
app.post('/auth/google',
passport.authenticate('google'),
function (req, res) {
// do something with req.user
res.send(req.user? 200 : 401);
}
);
Client Requests
客户端可以使用查询参数向使用 passport-google 策略的路由发送请求。 客户必须 传输谷歌登录后收到的code
、code_verifier
和redirect_uri
参数。 客户 也可以选择传输一个state
参数。
GET /auth/google?code=<TOKEN_HERE>&state=<STATE_HERE>&redirect_uri=<URI>&code_verifier=<CHALLENGE>
passport-google
Passport strategy for authenticating with Google access tokens using the OAuth 2.0 API.
This module lets you authenticate using Google in your Node.js applications using the Passport framework.
Installation
npm install @acceleratxr/passport-google
or
yarn add @acceleratxr/passport-google
Usage
Configure Strategy
The Google authentication strategy authenticates users using a Google account and OAuth 2.0 tokens. The strategy requires a verify
callback to perform a look up of the user account given a verified OAuth 2.0 token.
JavaScript
const GoogleStrategy = require('@acceleratxr/passport-google');
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
TypeScript
import { GoogleStrategy } from "@acceleratxr/passport-google";
passport.use(new GoogleStrategy({
clientID: GOOGLE_APP_ID,
clientSecret: GOOGLE_APP_SECRET,
apiVersion: "v8"
}, function(accessToken, refreshToken, profile, done) {
User.findOrCreate({googleId: profile.id}, function (error, user) {
return done(error, user);
});
}
));
Authenticate Requests
Use passport.authenticate()
, specifying google
as the strategy to authenticate requests.
app.post('/auth/google',
passport.authenticate('google'),
function (req, res) {
// do something with req.user
res.send(req.user? 200 : 401);
}
);
Client Requests
Clients can send requests to routes that use the passport-google strategy using query params. Clients must transmit the code
, code_verifier
, and redirect_uri
parameters that are received after Google login. Clients may also optionally transmit a state
parameter.
GET /auth/google?code=<TOKEN_HERE>&state=<STATE_HERE>&redirect_uri=<URI>&code_verifier=<CHALLENGE>