Passport strategy for authenticating with Strava's API V3 using OAuth2.
I used Passport-github as the base for this repo. Really I just changed a few things, the real work was already done.
This module lets you authenticate using Strava in your Node.js applications. By plugging into Passport, Strava authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
$ npm install passport-strava
To use passport-strava
you must register an application with Strava in the settings panel. You will be issued a client ID and a client secret to configure your strategy.
There are numerous examples available on setting up passport strategies:
- express-4.x-facebook-example - Simply replace the
passport-facebook
strategy withpassport-strava
and use your ID/secret for a working quickstart example. - Passportjs.org documentation
var StravaStrategy = require('passport-strava').Strategy;
passport.use(new StravaStrategy({
clientID: STRAVA_CLIENT_ID,
clientSecret: STRAVA_CLIENT_SECRET,
callbackURL: "http://127.0.0.1:3000/auth/strava/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ stravaId: profile.id }, function (err, user) {
return cb(err, user);
});
}
));
The returned profile
object will contain the entire JSON response specified in Strava's api documentation.