in api/controllers/AuthController.js [41:76]
provider: function (req, res) {
// If token present, override oauth login
if (process.env.GITHUB_TOKEN) {
request.get({
url: 'https://api.github.com/user?access_token=' +
process.env.GITHUB_TOKEN,
json: true,
headers: {
'User-Agent': 'request'
}
}, function(err, clientReq, ghUser) {
var record = { username: ghUser.login };
User.findOrCreate(record, record, function(err, user) {
if (err) return res.badRequest('Unable to log in with token');
user = user.length ? user[0] : user;
Passport.create({
identifier: ghUser.id,
protocol: 'oauth2',
tokens: { accessToken: process.env.GITHUB_TOKEN },
provider: 'github',
user: user.id
}, function(err, passport) {
if (err) return res.badRequest('Unable to log in with token');
user.passport = [passport];
req.login(user, function (err) {
if (err) return res.badRequest('Unable to log in with token');
req.session.authenticated = true;
res.redirect('/');
});
});
});
});
} else {
passport.endpoint(req, res);
}
},