A complete client-side browser application for an OAuth3 issuer implementation.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

57 lines
1.4 KiB

$(function () {
'use strict';
var OAUTH3 = window.OAUTH3;
//var myPort = window.location.host.replace(/[^:]+(:)?/, '$1');
//var providerUri = 'https://localhost.bar.daplie.me' + myPort;
var providerUri = 'oauth3.org';
var auth = OAUTH3.create();
auth.init().then(function () {
$('.mock-main').addClass('in');
});
auth.setProvider(providerUri).then(function () {
$('.js-signin').removeAttr('disabled');
return auth.authenticate({ windowType: 'background' }).then(function (session) {
console.info("Previously Granted:", session);
$('.js-signin').removeClass('in').hide();
$('.js-logout').show().addClass('in');
}, function (err) {
console.info("Pre-Auth Fail (okay):", err);
});
});
$('body').on('click', '.js-signin', function (ev) {
ev.preventDefault();
ev.stopPropagation();
auth.login().then(function (session) {
console.info('authorization tokens!', session);
$('.js-signin').removeClass('in').hide();
$('.js-logout').show().addClass('in');
}, function (err) {
window.alert(err.message);
});
});
$('body').on('click', '.js-logout', function (ev) {
ev.preventDefault();
ev.stopPropagation();
return auth.logout().then(function () {
localStorage.clear();
$('.js-signin').show().addClass('in');
$('.js-logout').removeClass('in').hide();
});
});
$('.js-logout').hide();
});