var util = require('util') var oauth2 = require('passport-oauth2') function Strategy(options, verify) { oauth2.Strategy.call(this, options, verify) if (!options.authorizationURL) { throw new TypeError('OAuth2Strategy requires a userinfoURL option') } this._userinfoURL = options.userinfoURL this._oauth2.useAuthorizationHeaderforGET(true) } util.inherits(Strategy, oauth2.Strategy) Strategy.prototype.userProfile = function(accessToken, callback) { this._oauth2.get(this._userinfoURL, accessToken, function(err, data) { if (err) { return callback(err) } else { try { return callback(null, JSON.parse(data)) } catch (err) { return callback(err) } } }) } module.exports = Strategy