1.0.2 • Published 5 years ago

lvconnect-passport v1.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

LVConnect Passport

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.

Install

$ npm install lvconnect-passport

Usage

Create an Application

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.

Configure Strategy

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);
    });
  }
));

Authenticate Requests

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('/');
  });

Examples

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.

License

This LVConnect Passport package is an open-sourced software licensed under the MIT license.

Contributing

Issues and PRs are obviously welcomed and encouraged, for new features as well as documentation.