Skip to content

Commit

Permalink
remove decrypt token from the casimir
Browse files Browse the repository at this point in the history
NEED MINOR UPDATE DUE TO BREAKING CHANGE!
  • Loading branch information
bejavu committed Dec 19, 2016
1 parent d6ef3fe commit d2fb182
Showing 1 changed file with 2 additions and 51 deletions.
53 changes: 2 additions & 51 deletions lib/authentication.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,8 @@
'use strict'

var jwt = require('jwt-simple')
var moment = require('moment')
var request = require('request')

var error_message = ['Not authorized', 401]

var verify_fb_accsess_token = function (facebook_properties, fb_input_token, callback) {
var fb_graph_host = facebook_properties.graph_host
var fb_application_id = facebook_properties.application_id
var fb_application_secret = facebook_properties.application_secret
var fb_access_token = fb_application_id + '|' + fb_application_secret
var host = fb_graph_host + '/debug_token?access_token=' + fb_access_token + '&input_token=' + fb_input_token
request.get(host, function (err, response, body) {
if (err) return callback(err)
if (response.statusCode !== 200) return callback(body)
body = JSON.parse(body)
if (body.error) return callback(body.error)
if (!body.data) return callback('no data in body (verify_fb_accsess_token)')
if (body.data.error) return callback(body.data.error)
if (!body.data.user_id) return callback('no facebook user_id found in data')
callback(null, body.data.user_id)
})
}

module.exports = function (secret, verify_cb, access_cb, facebook_properties) {
module.exports = function (verify_cb, access_cb) {
return {
verify_token: function (req, res, next) {
var token = (req.body && req.body.token) ||
Expand All @@ -34,23 +12,7 @@ module.exports = function (secret, verify_cb, access_cb, facebook_properties) {
(req.cookies && req.cookies.token)
if (!token) return next()
req.query.token = token
try {
var decoded = jwt.decode(token, secret)
// if (decoded.exp <= Date.now()) return next()
return verify_cb(token, decoded, error_message, req, res, next)
} catch (err) {
if (!facebook_properties) return next()
// try to facebook login:
verify_fb_accsess_token(facebook_properties, token, function (err, fid) {
if (err) return next()
decoded = {
fid: fid,
type: 'session_token',
valid: true
}
return verify_cb(token, decoded, error_message, req, res, next)
})
}
return verify_cb(token, req, res, next)
},

verify_specific_user_token: function (allowedUsers) {
Expand All @@ -65,17 +27,6 @@ module.exports = function (secret, verify_cb, access_cb, facebook_properties) {
if (req.user) return next()
if (access_cb) return access_cb(req, res, next)
return next(error_message)
},

issue_token: function (settings) {
var token_params = {
iss: settings.iss || 'guest',
exp: moment().add(settings.expiration_time || 3600000, 'milliseconds').valueOf(),
type: settings.type || 'session_token'
}
if (settings.data) token_params.data = settings.data
var token = jwt.encode(token_params, secret)
return token
}
}
}

0 comments on commit d2fb182

Please sign in to comment.