Skip to content

Instantly share code, notes, and snippets.

@digitalrinaldo
Created March 11, 2012 21:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save digitalrinaldo/2018224 to your computer and use it in GitHub Desktop.
Save digitalrinaldo/2018224 to your computer and use it in GitHub Desktop.
// This code doesn't accept a URL of /auth/twitter or /auth/github
var express = require('express')
, routes = require('./routes')
, util = require('util')
, everyauth = require('everyauth');
var app = module.exports = express.createServer();
// Configuration
app.configure(function () {
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set('view options', { layout:false });
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({ secret:'secret'}));
app.use(express.logger("tiny"));
app.use(everyauth.middleware());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.configure('development', function () {
app.use(express.errorHandler({ dumpExceptions:true, showStack:true }));
});
app.configure('production', function () {
app.use(express.errorHandler());
});
everyauth.debug = true;
everyauth.everymodule
.findUserById(function (id, callback) {
callback(null, usersById[id]);
});
everyauth.github
.appId('')
.appSecret('')
.findOrCreateUser(function (session, accessToken, accessToken, accessTokenExtra, githubUserMetadata) {
/* console.log(util.inspect(session));
console.log(util.inspect(accessToken));
console.log(util.inspect(accessTokenExtra));
console.log(util.inspect(githubUserMetadata));*/
console.log("find user");
})
.redirectPath('/');
everyauth.twitter
.consumerKey('')
.consumerSecret('')
.findOrCreateUser(function (session, accessToken, accessTokenSecret, twitterUserMetadata) {
console.log("Twitter called.");
if (twitterUserMetadata.screen_name == "digitalrinaldo") {
return ( twitterUserMetadata.screen_name );
}
})
.redirectPath('/');
everyauth.helpExpress(app);
app.get('/', function (req, res) {
console.log("Matched /");
if (req.session && req.session.uid) {
return ( res.redirect('/index') );
} else {
res.render('login');
}
});
app.get('/index.html', function (req, res) {
console.log("Matched /index");
if (req.session.uid) {
return ( res.redirect('/') );
}
});
app.listen(9095);
console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment