mojio-js-sdk
Version:
Mojio javascript REST client.
118 lines (95 loc) • 4.05 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var MojioAuthSDK, MojioSDK, app, authorization_uri, client_id, client_secret, express, oauth2, redirect_uri, redirect_uri2, sdk;
express = require('express');
MojioSDK = require('../../src/nodejs/sdk/MojioSDK');
MojioAuthSDK = require('../../src/nodejs/sdk/MojioAuthSDK');
app = express();
client_id = '41a04077-0157-49fb-a35c-6e2824f3b348';
client_secret = 'd80357f8-cbc9-4022-b340-6e99a72e7e0b';
oauth2 = require('simple-oauth2')({
clientID: client_id,
clientSecret: client_secret,
site: 'https://accounts.moj.io',
tokenPath: '/oauth2/token',
authorizationPath: '/oauth2/authorize'
});
redirect_uri = 'http://localhost:3000/callback';
redirect_uri2 = 'http://localhost:3000/callback';
authorization_uri = oauth2.authCode.authorizeURL({
client_id: client_id,
redirect_uri: redirect_uri,
scope: ['full']
});
sdk = new MojioSDK({
sdk: MojioAuthSDK,
client_id: client_id,
client_secret: client_secret,
test: true
});
app.get('/authCode', function(req, res) {
console.log("res:" + res);
return sdk.authorize(redirect_uri).scope(['full']).redirect(res);
});
app.get('/password', function(req, res) {
console.log("res:" + res);
return sdk.token(redirect_uri).credentials("testing@moj.io", "Test123!").scope(['full']).callback(function(error, result) {
var token;
if (error) {
console.log('Access Token Error', JSON.stringify(error.content) + " message:" + error.statusMessage + " url:" + sdk.url());
return res.send('Access Token Error: ' + JSON.stringify(error.content) + " message:" + error.statusMessage + " url:" + sdk.url());
} else {
token = result;
console.log("Token:" + JSON.stringify(token));
return res.send('World: <br><a href="/unauth">Unauthorize Mojio</a><br><a href="/logout">Log out of Mojio</a><br><a href="/consent">Remove consent from Mojio</a>');
}
});
});
app.get('/logout', function(req, res) {
var loggedOut;
console.log("res:" + res);
loggedOut = function(error, result) {
return console.log("logged out");
};
return sdk.unauthorize("http://localhost:3000/callback").login().redirect(res);
});
app.get('/consent', function(req, res) {
var loggedOut;
console.log("res:" + res);
loggedOut = function(error, result) {
return console.log("Removed Consent");
};
return sdk.unauthorize("http://localhost:3000/callback").consent().redirect(res);
});
app.get('/unauth', function(req, res) {
var loggedOut;
console.log("res:" + res);
loggedOut = function(error, result) {
return console.log("logged out and removed consent");
};
return sdk.unauthorize("http://localhost:3000/callback").login().consent().redirect(res);
});
app.get('/callback', function(req, res) {
var code, saveToken;
code = req.query.code;
console.log('/callback');
saveToken = function(error, result) {
var token;
if (error) {
console.log('Access Token Error', JSON.stringify(error.content) + " message:" + error.statusMessage + " url:" + sdk.url());
return res.send('Access Token Error: ' + JSON.stringify(error.content) + " message:" + error.statusMessage + " url:" + sdk.url());
} else {
token = result;
console.log("Token:" + JSON.stringify(token));
return res.send('World: <br><a href="/unauth">Unauthorize Mojio</a><br><a href="/logout">Log out of Mojio</a><br><a href="/consent">Remove consent from Mojio</a>');
}
};
return sdk.token(redirect_uri).parse(req).callback(saveToken);
});
app.get('/', function(req, res) {
return res.send('Hello<br><a href="/authCode">Log in with Mojio: Authorization Code Flow</a><br><a href="/password">Log in with Mojio: Password Flow</a>');
});
app.listen(3000);
console.log('Express server started on port 3000');
}).call(this);
//# sourceMappingURL=authorization_code_flow.js.map