mojio-js-sdk
Version:
Mojio javascript REST client.
90 lines (73 loc) • 2.85 kB
JavaScript
// Generated by CoffeeScript 1.10.0
(function() {
var app, authorization_uri, client_id, client_secret, express, oauth2, redirect_uri;
express = require('express');
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';
authorization_uri = oauth2.authCode.authorizeURL({
client_id: client_id,
redirect_uri: redirect_uri,
scope: ['full']
});
app.get('/auth', function(req, res) {
return res.redirect(authorization_uri);
});
app.get('/unauth', function(req, res) {
return console.log("res:" + res);
});
app.get('/callback', function(req, res) {
var code, saveToken;
saveToken = function(error, result) {
var token;
if (error) {
console.log('Access Token Error', error.message);
return res.send('Error: error.message');
} else if (result != null) {
token = oauth2.accessToken.create(result);
return res.send('World: <br><a href="/">Unauthorize Mojio!</a><br>' + JSON.stringify(token));
} else {
return res.send('Error logging in, no token returned<br><a href="/auth">Log in with Mojio: Authorization Code Flow</a><br><a href="/password">Log in with Mojio: Password Flow</a>');
}
};
code = req.query.code;
console.log('/callback');
return oauth2.authCode.getToken({
code: code,
redirect_uri: redirect_uri
}, saveToken);
});
app.get('/password', function(req, res) {
var saveToken;
saveToken = function(error, result) {
var token;
if (error) {
console.log('Access Token Error', error.message);
return res.send('Error: error.message');
} else if (result != null) {
token = oauth2.accessToken.create(result);
return res.send('World: <br><a href="/">Unauthorize Mojio!</a><br>' + JSON.stringify(token));
} else {
return res.send('Error logging in, no token returned<br><a href="/auth">Log in with Mojio: Authorization Code Flow</a><br><a href="/password">Log in with Mojio: Password Flow</a>');
}
};
return oauth2.password.getToken({
username: 'testing@moj.io',
password: 'Test123!'
}, saveToken);
});
app.get('/', function(req, res) {
return res.send('Hello<br><a href="/auth">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_simple_auth.js.map