passport-trademe

0.1.1 • Public • Published

passport-trademe

Trade Me authentication strategy for Passport.

Installation

Installing passport-trademe

  [sudo] npm install passport-trademe

Motivation

Fame, fortune ... free beer.

Usage

Very simple ...

	var passport = require( 'passport' )		
		, TrademeStrategy = require( 'passport-trademe' ).Strategy
		
	...
	
	var trademeKey = require( './keys/trademeKey' );
	passport.use(new TrademeStrategy( {
		consumerKey: trademeKey.consumerKey
		, consumerSecret: trademeKey.consumerSecret
		, callbackURL: app.get( 'site-url' ) + '/auth/trademe/callback'
	}
	, function( token, tokenSecret, profile, done ) {
	
		...
		
		}
	) );
	
	...
	
	app.configure( function() {
		app.use( passport.initialize() );
		app.use( passport.session() );
		app.use( app.router );
	} );

Define you "conversation" routes ...

	app.get( '/auth/trademe'
		, passport.authenticate( 'trademe'
			, { 
				// Add the scope of your application here
				scope: [ 'MyTradeMeRead'
					, 'MyTradeMeWrite'
					, 'BiddingAndBuying' ] 
			} 
		)
		, function( req, res ) {
			// Nothing to do here. The "conversation" will end at the callback route.
		} );
	
	app.get( '/auth/trademe/callback' 
		, passport.authenticate( 'trademe' 
			, {
				failureRedirect: '/login'
			}
		)
		, function( req, res ) {
			res.redirect( '/' );
		} );

Use to protect something ...

	function ensureAuthenicated = function( req, res, next ) {
		if ( req.isAuthenticated() ) { 
			return next(); 
		}
		res.redirect( '/login' )
	}
	
	...
	
	app.get( '/someProtectedResource'
		, ensureAuthenticated
		, function ( req, res ) {
			res.redirect( '/' );
		} );

Author: Cleave Pokotea

Package Sidebar

Install

npm i passport-trademe

Weekly Downloads

0

Version

0.1.1

License

MIT

Last publish

Collaborators

  • tumunu