@acceleratxr/passport-oauth2 中文文档教程
passport-oauth2
Passport 的通用 OAuth 2.0 身份验证策略。
此模块允许您在 Node.js 应用程序中使用 OAuth 2.0 进行身份验证。 通过插入 Passport,OAuth 2.0 身份验证可以轻松且 不引人注意地集成到支持的任何应用程序或框架中 Connect 风格的中间件,包括 快递。
请注意,此策略提供通用 OAuth 2.0 支持。 在许多情况下,一个 可以改用特定于提供者的策略,这减少了不必要的 配置,并适应任何特定于提供者的怪癖。 见 list 支持 提供商。
需要针对 OAuth 2.0 提供商实施身份验证的开发人员 鼓励尚未支持的子类对该策略进行子类化。 如果你 选择开源新的provider-specific strategy,请添加到 列出以便其他人可以找到它。
广告
学习 OAuth 2.0 - 作为 API 安全专家开始
试想一下,如果您具备 OAuth 方面的技能,您的职业生涯会发生什么 >; 8500名满意的学生
Install
$ npm install passport-oauth2
Usage
Configure Strategy
OAuth 2.0 身份验证策略使用第三方对用户进行身份验证
帐户和 OAuth 2.0 令牌。 提供商的 OAuth 2.0 端点,以及
客户端标识符和密码被指定为选项。 策略
需要一个 verify
回调,它接收访问令牌和配置文件,
并调用 cb
提供用户。
passport.use(new OAuth2Strategy({
authorizationURL: 'https://www.example.com/oauth2/authorize',
tokenURL: 'https://www.example.com/oauth2/token',
clientID: EXAMPLE_CLIENT_ID,
clientSecret: EXAMPLE_CLIENT_SECRET,
callbackURL: "http://localhost:3000/auth/example/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ exampleId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));
Authenticate Requests
使用 passport.authenticate()
,指定 'oauth2'
策略,以
验证请求。
例如,作为 Express 中的路由中间件 应用程序:
app.get('/auth/example',
passport.authenticate('oauth2'));
app.get('/auth/example/callback',
passport.authenticate('oauth2', { failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});
Related Modules
- passport-oauth1 — OAuth 1.0 authentication strategy
- passport-http-bearer — Bearer token authentication strategy for APIs
- OAuth2orize — OAuth 2.0 authorization server toolkit
Contributing
Tests
测试套件位于test/
目录中。 所有的新功能都是
希望有相应的测试用例。 确保完整的测试套件
通过执行传递:
$ make test
Coverage
所有新功能开发都应具有测试覆盖率。 补丁那个 增加测试覆盖率很高兴地被接受。 覆盖率报告可以查看 执行:
$ make test-cov
$ make view-cov
License
版权所有 (c) 2011-2016 Jared Hanson <http://jaredhanson.net/>
你可能也喜欢
- 1tree-schema 中文文档教程
- 6502-disasm 中文文档教程
- @128keaton/leaflet.markercluster 中文文档教程
- @12stonechurch/react-native-chromecast 中文文档教程
- @1productaweek/npm-package-starter 中文文档教程
- @1ziton/react-native-share-qr 中文文档教程
- @365werk/vue-library 中文文档教程
- @6river/context 中文文档教程
- @aarnila/react-instagram-embed 中文文档教程
- @abadiu/abra 中文文档教程