passport-feishu
v1.0.1
Published
Feishu authentication strategy for Passport.
Downloads
8
Maintainers
Readme
passport-feishu
Passport strategy for authenticating with Feishu.
To learn more details about Feishu's OAuth strategy, please refer to its online docs (English version, Chinese version).
This project is an imitation of Jared Hanson's works, such as passport-facebook
and passport-google-oauth2
.
Install
$ npm install passport-feishu
Usage
Configure Strategy
const FeishuStrategy = require('passport-feishu').Strategy;
passport.use(new FeishuStrategy({
clientID: FEISHU_APP_ID,
clientSecret: FEISHU_APP_SECRET,
callbackURL: "http://www.example.com/auth/feishu/callback",
appType: "public",
appTicket: "the-ticket-received-from-feishu-service"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ feishuUserId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));
Authenticate Requests
Use passport.authenticate()
, specifying the 'feishu'
strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.get('/auth/feishu',
passport.authenticate('feishu'));
app.get('/auth/feishu/callback',
passport.authenticate('feishu', { session: true, successReturnToOrRedirect: '/' })
);
License
Copyright (c) 2020 Jiamin Zhao