passport-rescuetime

GitHub authentication strategy for Passport.


Keywords
passport, rescuetime, auth, authn, authentication, identity
License
MIT
Install
npm install passport-rescuetime@0.1.10

Documentation

Passport-RescueTime

Passport strategy for authenticating with RescueTime using the OAuth 2.0 API.

This module lets you authenticate using RescueTime in your Node.js applications. By plugging into Passport, RescueTime authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.

Install

$ npm install passport-rescuetime

Usage

Configure Strategy

The RescueTime authentication strategy authenticates users using a RescueTime account and OAuth 2.0 tokens. The strategy requires a verify callback, which accepts these credentials and calls done providing a user, as well as options specifying a client ID, client secret, and callback URL.

passport.use(new RescueTimeStrategy({
    clientID: RESCUETIME_CLIENT_ID,
    clientSecret: RESCUETIME_CLIENT_SECRET,
    callbackURL: "http://127.0.0.1:3000/auth/rescuetime/callback"
  },
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ .. }, function (err, user) {
      return done(err, user);
    });
  }
));

Note that the RescueTime does not return profile information so the profile argument will be empty.

Authenticate Requests

Use passport.authenticate(), specifying the 'rescuetime' strategy, to authenticate requests.

For example, as route middleware in an Express application:

app.get('/auth/rescuetime',
  passport.authenticate('rescuetime'));

app.get('/auth/rescuetime/callback',
  passport.authenticate('rescuetime', { failureRedirect: '/login' }),
  function(req, res) {
    // Successful authentication, redirect home.
    res.redirect('/');
  });

Credits

License

The MIT License

Copyright (c) 2016 Ben Brook <builtbybenbrook.com>