Passport strategy for authenticating with LVConnect using the OAuth 2.0 API.
This module lets you authenticate using LVConnect in your Node.js applications. By plugging into Passport, LVConnect authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
Linkvalue is a french web/mobile agency.
This package is an internal tool. You can download it and use it as an example for making your own, but it will be unusable if you're not a Linkvalue partner.
$ npm install lvconnect-passport
Before using lvconnect-passport
, you must register an application with LVConnect.
If you have not already done so, a new application can be created at
developer applications within
LVConnect's settings panel. Your application will be issued a client ID and client
secret, which need to be provided to the strategy. You will also need to
configure a callback URL which matches the route in your application.
The LVConnect authentication strategy authenticates users using a LVConnect account
and OAuth 2.0 tokens. The client ID and secret obtained when creating an
application are supplied as options when creating the strategy. The strategy
also requires a verify
callback, which receives the access token and optional
refresh token, as well as profile
which contains the authenticated user's
LVConnect profile. The verify
callback must call cb
providing a user to
complete authentication.
const LVConnectStrategy = require('lvconnect-passport');
passport.use(new LVConnectStrategy({
clientID: LVCONNECT_CLIENT_ID,
clientSecret: LVCONNECT_CLIENT_SECRET,
callbackURL: "/auth/lvconnect/callback"
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate({ lVConnectId: profile.id }, function (err, user) {
return done(err, user);
});
}
));
Use passport.authenticate()
, specifying the 'lvconnect'
strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.get('/auth/lvconnect',
passport.authenticate('lvconnect'));
app.get('/auth/lvconnect/callback',
passport.authenticate('lvconnect', { failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});
Developers using the popular Express web framework can refer to an example as a starting point for their own web applications. The example shows how to authenticate users using Facebook. However, because both Facebook and LVConnect use OAuth 2.0, the code is similar. Simply replace references to Facebook with corresponding references to LVConnect.
This LVConnect Passport package is an open-sourced software licensed under the MIT license.
Issues and PRs are obviously welcomed and encouraged, for new features as well as documentation.