43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  |   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; | ||
|  |   }; |