oauth3.discover = function (providerUri, opts) { opts = opts || {}; console.log('DEBUG oauth3.discover', providerUri); console.log(opts); if (opts.directives) { return oauth3.PromiseA.resolve(opts.directives); } var promise; var promise2; var directives; var updatedAt; var fresh; providerUri = oauth3.normalizeUrl(providerUri); try { directives = JSON.parse(localStorage.getItem('oauth3.' + providerUri + '.directives')); console.log('DEBUG oauth3.discover cache', directives); updatedAt = localStorage.getItem('oauth3.' + providerUri + '.directives.updated_at'); console.log('DEBUG oauth3.discover updatedAt', updatedAt); updatedAt = new Date(updatedAt).valueOf(); console.log('DEBUG oauth3.discover updatedAt', updatedAt); } catch(e) { // ignore } fresh = (Date.now() - updatedAt) < (24 * 60 * 60 * 1000); if (directives) { promise = oauth3.PromiseA.resolve(directives); if (fresh) { //console.log('[local] [fresh directives]', directives); return promise; } } promise2 = oauth3._discoverHelper(providerUri, opts); return promise || promise2; };