2017-11-09 03:44:13 +00:00
|
|
|
(function () {
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
window.ngOauth3App = angular.module('oauth3Playground', [ 'oauth3.org' ])
|
|
|
|
//window.ngOauth3App = angular.module('oauth3Playground', [ 'ui.router' ])
|
|
|
|
/*
|
|
|
|
ngOauth3App.config(function($stateProvider) {
|
|
|
|
var helloState = {
|
|
|
|
name: 'hello',
|
|
|
|
url: '/hello',
|
|
|
|
template: '<h3>hello world!</h3>'
|
|
|
|
}
|
|
|
|
|
|
|
|
var aboutState = {
|
|
|
|
name: 'about',
|
|
|
|
url: '/about',
|
|
|
|
template: '<h3>Its the UI-Router hello world app!</h3>'
|
|
|
|
}
|
|
|
|
|
|
|
|
$stateProvider.state(helloState);
|
|
|
|
$stateProvider.state(aboutState);
|
|
|
|
});
|
|
|
|
*/
|
|
|
|
.controller('PlaygroundCtrl', [ 'azp@oauth3.org', function (OAUTH3) {
|
|
|
|
// NOTE: This OAUTH3 is the same as window.OAUTH3, but with angular's promise injected
|
|
|
|
// TODO: how to load more than one version of oauth3 on the page (i.e. a vanilla version without angular entaglement)
|
|
|
|
var vm = this;
|
|
|
|
|
|
|
|
vm.clientUri = OAUTH3.clientUri(window.location);
|
|
|
|
vm.conf = { client_id: vm.clientUri, client_uri: vm.clientUri, provider_uri: vm.clientUri };
|
|
|
|
vm.providerUri = vm.conf.client_uri;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Convenience for our app
|
|
|
|
//
|
|
|
|
vm.fn = {};
|
|
|
|
vm.fn.lock = function () {
|
|
|
|
vm._working = true;
|
|
|
|
};
|
|
|
|
vm.fn.unlock = function () {
|
|
|
|
vm._working = false;
|
|
|
|
};
|
|
|
|
vm.fn.clearError = function () {
|
|
|
|
vm.error = null;
|
|
|
|
};
|
|
|
|
vm.fn.clearDirectives = function () {
|
|
|
|
vm.directives = null;
|
|
|
|
};
|
|
|
|
|
|
|
|
//
|
|
|
|
// Wrap around the OAUTH3 APIs
|
|
|
|
//
|
|
|
|
vm.api = {};
|
|
|
|
vm.api.providerUri = function () {
|
|
|
|
console.log('[DEBUG] providerUri:', vm.providerUri);
|
|
|
|
try {
|
|
|
|
vm.providerUri = OAUTH3.uri.normalize(vm.providerUri);
|
|
|
|
vm.conf.provider_uri = vm.providerUri;
|
|
|
|
} catch(e) {
|
|
|
|
vm.error = e;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
vm.api.clientUri = function () {
|
|
|
|
console.log('[DEBUG] clientUri:', vm.clientUri);
|
|
|
|
try {
|
|
|
|
vm.clientUri = OAUTH3.clientUri({ host: vm.clientUri });
|
|
|
|
if (vm.clientUri) {
|
|
|
|
console.log('[DEBUG] clientUri:', vm.clientUri);
|
|
|
|
vm.conf.client_uri = vm.clientUri;
|
|
|
|
vm.conf.client_id = vm.clientUri;
|
|
|
|
}
|
|
|
|
} catch(e) {
|
|
|
|
vm.error = e;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
vm.api.discover = function () {
|
|
|
|
vm.fn.lock();
|
|
|
|
|
|
|
|
vm.discoveryObj = OAUTH3.urls.discover(vm.conf.provider_uri, vm.conf);
|
|
|
|
vm.directivesUrl = OAUTH3.url.normalize(vm.conf.provider_uri) + '/' + vm.discoveryObj.query._pathname;
|
|
|
|
vm.discoveryUrl = vm.discoveryObj.method + ' ' + vm.discoveryObj.url;
|
|
|
|
return OAUTH3.discover(vm.conf.provider_uri, vm.conf).then(function (dir) {
|
|
|
|
console.log('[DEBUG] directives:');
|
|
|
|
console.log(dir);
|
|
|
|
vm.directives = JSON.stringify(dir, null, 2);
|
|
|
|
}, function (err) {
|
|
|
|
vm.error = err;
|
|
|
|
}).then(function () {
|
|
|
|
vm.fn.unlock();
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
} ] );
|
|
|
|
}());
|
|
|
|
|
2017-11-08 22:32:55 +00:00
|
|
|
window.PLAYGROUND = function () {
|
2017-11-09 03:44:13 +00:00
|
|
|
/*
|
2017-11-08 22:32:55 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
console.log("Welcome to the Playground!");
|
2017-11-09 03:44:13 +00:00
|
|
|
var clientUri = OAUTH3.clientUri(window.location);
|
|
|
|
|
|
|
|
$('input.js-provider-uri').val(window.location.host);
|
|
|
|
$('span.js-provider-uri').text(window.location.host);
|
|
|
|
|
|
|
|
$('body').on('keyup', '.js-provider-uri', function () {
|
|
|
|
$('span.js-provider-uri').text($('input.js-provider-uri').val())
|
|
|
|
});
|
|
|
|
|
|
|
|
$('body').on('click', '.js-discover', function () {
|
|
|
|
$('.js-discover').attr('disabled', 'disabled');
|
|
|
|
console.log('discover clicked!');
|
|
|
|
var providerUri = $('input.js-provider-uri').val();
|
|
|
|
|
|
|
|
return OAUTH3.discover(providerUri, { client_uri: clientUri }).then(function (dir) {
|
|
|
|
console.log('[DEBUG] directives:');
|
|
|
|
console.log(dir);
|
|
|
|
$('.js-directives').val(JSON.stringify(dir, null, 2));
|
|
|
|
}, function (err) {
|
|
|
|
console.error('[DEBUG] error:');
|
|
|
|
console.error(err);
|
|
|
|
}).then(function () {
|
|
|
|
$('.js-discover').removeAttr('disabled');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
*/
|
2017-11-08 22:32:55 +00:00
|
|
|
};
|