identity
Version:
Identity client
25 lines (21 loc) • 755 B
JavaScript
exports.action = {
name: 'oauth',
version: 2,
description: 'OAuth2 Client',
inputs: { required: ['code'], optional: ['error'] },
outputExample: {},
requireAuth: false,
run: function(api, connection, next){
var code = connection.params.code;
api.identity.application('identity').post('oauth/access_token', {code: code}, function(err, response){
if(response && response.access_token){
connection.session.access_token = response.access_token;
connection.rawConnection.responseHeaders.push(['Location', '/']);
connection.rawConnection.responseHttpCode = 307;
}else{
connection.error = api.config.errors.serverErrorMessage();
}
next(connection, true);
});
}
};