passport-relayr v0.1.0
passport-relayr
Passport strategy for authenticating with Relayr using the OAuth 2.0 API.
This module lets you authenticate using Replayr in your Node.js applications. By plugging into Passport, Replayr authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
Current Status
Beta - Needs some more tests.
Install
$ npm install passport-relayrUsage
Create an Application
Before using passport-relayr, you must register an application with Relayr.
If you have not already done so, a new application can be created at Relayr Dashboard.
Your application will be issued an OAuth Client ID and OAuth Client Secret, which need to be provided to the strategy.
You will also need to configure a Redirect URI which matches the route in your application.
Configure Strategy
The Relayr authentication strategy authenticates users using a Relayr
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 a access token. The verify callback must call done providing a user to
complete authentication. A refreshToken won't be issued, since the accessToken doesn't expire.
var RelayrStrategy = require('passport-relayr').Strategy;
passport.use(new RelayrStrategy({
clientID: CLIENT_ID,
clientSecret: CLIENT_SECRET,
callbackURL: 'http://localhost:3000/login/relayr/return'
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ name: profile.name }, function (err, user) {
return done(err, user);
});
}
));The profile contains the user id, name and email.
{
"id": "...",
"name": "...",
"email": "..."
}Authenticate Requests
Use passport.authenticate(), specifying the 'relayr' strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.get('/login/relayr',
passport.authenticate('relayr'));
app.get('/login/relayr/return',
passport.authenticate('relayr', {failureRedirect: '/login'}),
function (req, res) {
res.redirect('/');
});Examples
Developers using the popular Express web framework can refer to an example as a starting point for their own web applications.
Tests
$ npm testAcknowledgment
All credits go to @jaredhanson for developing and maintaining the Passport project
License
Copyright (c) 2016 Jan Kirchner
See Also
10 years ago