passport-edmodo

0.3.0 • Public • Published

Passport-Edmodo

Build Status Code Climate

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

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

Install

$ npm install passport-edmodo

Usage

Configure Strategy

The Edmodo authentication strategy authenticates users using a Edmodo account and OAuth 2.0 tokens. It uses the code authentication flow by default, but can also be configured to use the token flow. 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 EdmodoStrategy({
    clientID: EDMODO_CLIENT_ID,
    clientSecret: EDMODO_CLIENT_SECRET,
    callbackURL: "http://127.0.0.1:3000/auth/edmodo/callback"
  },
  function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ edmodoId: profile.id }, function (err, user) {
      return done(err, user);
    });
  }
));

Authenticate Requests

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

For example, as route middleware in an Express application:

app.get('/login/edmodo',
  passport.authenticate('edmodo'));

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

By default, this will use the Edmodo code authentication flow. If you want to use the token authentication flow, pass the useTokenFlow option to authenticate, and send the access token as access_token in the body of your request:

app.get('/login/edmodo/callback',
  passport.authenticate('edmodo', { useTokenFlow: true }),
  function(req, res) {
    console.log('Authenticated!');
  });

Examples

For a complete, working example, refer to the login example.

Tests

$ npm install --dev
$ make test

Credits

License

The MIT License

Copyright (c) 2014 Zaption <http://www.zaption.com>

Package Sidebar

Install

npm i passport-edmodo

Weekly Downloads

5

Version

0.3.0

License

none

Last publish

Collaborators

  • cstigler