Dropbox OAuth 2.0 authentication strategy for Passport.
npm install passport-dropbox-oauth2This module lets you authenticate using Dropbox in your Node.js applications.
By plugging into Passport, Dropbox authentication can be easily and
unobtrusively integrated into any application or framework that supports
Connect-style middleware, including
Express.
The Dropbox authentication strategy authenticates users using a Dropbox 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 API version, client ID, client secret, and callback URL. The library
defaults to version 1 of Dropbox's API.
passport.use(new DropboxOAuth2Strategy({
apiVersion: '2',
clientID: DROPBOX_CLIENT_ID,
clientSecret: DROPBOX_CLIENT_SECRET,
callbackURL: "https://www.example.net/auth/dropbox-oauth2/callback"
},
function(accessToken, refreshToken, profile, done) {
User.findOrCreate({ providerId: profile.id }, function (err, user) {
return done(err, user);
});
}
));
passport.authenticate(), specifying the 'dropbox-oauth2' strategy, toFor example, as route middleware in an Express
application:
app.get('/auth/dropbox',
passport.authenticate('dropbox-oauth2'));
app.get('/auth/dropbox/callback',
passport.authenticate('dropbox-oauth2', { failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});
Copyright (c) 2013-2014 Florian Heinemann