Compare commits
	
		
			4 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3b12c7854c | |||
| f410f2b171 | |||
| a952ee6197 | |||
| bb7fa017ef | 
| @ -7,7 +7,7 @@ function create(myOpts) { | |||||||
|       // TODO pre-generate URL
 |       // TODO pre-generate URL
 | ||||||
| 
 | 
 | ||||||
|       // deliver existing session if it exists
 |       // deliver existing session if it exists
 | ||||||
|       var scope = opts && opts.scope || []; |       var scope = opts && (opts.scope || opts.claims || myOpts.scope || myOpts.claims || []); | ||||||
|       if (myOpts.session) { |       if (myOpts.session) { | ||||||
|         if (!scope.length || scope.every(function (scp) { |         if (!scope.length || scope.every(function (scp) { | ||||||
|           return -1 !== opts.myOpts.session.scope.indexOf(scp); |           return -1 !== opts.myOpts.session.scope.indexOf(scp); | ||||||
| @ -23,6 +23,7 @@ function create(myOpts) { | |||||||
|         // maybe use inline instead?
 |         // maybe use inline instead?
 | ||||||
|       , windowType: 'popup' |       , windowType: 'popup' | ||||||
|       , scope: scope |       , scope: scope | ||||||
|  |       , debug: opts.debug || myOpts.debug | ||||||
|       }).then(function (session) { |       }).then(function (session) { | ||||||
|         return session; |         return session; | ||||||
|       }); |       }); | ||||||
| @ -57,6 +58,7 @@ window.navigator.auth = { | |||||||
|     var conf = {}; |     var conf = {}; | ||||||
|     var directives; |     var directives; | ||||||
|     var session; |     var session; | ||||||
|  |     var scope = opts && (opts.scope || opts.claims || []); | ||||||
| 
 | 
 | ||||||
|     opts = opts || {}; |     opts = opts || {}; | ||||||
|     conf.client_uri = opts.client_uri || OAUTH3.clientUri(opts.location || window.location); |     conf.client_uri = opts.client_uri || OAUTH3.clientUri(opts.location || window.location); | ||||||
| @ -73,12 +75,15 @@ window.navigator.auth = { | |||||||
|         var myOpts = { |         var myOpts = { | ||||||
|           directives: directives |           directives: directives | ||||||
|         , conf: conf |         , conf: conf | ||||||
|  |         , debug: opts.debug | ||||||
|  |         , scope: scope | ||||||
|         }; |         }; | ||||||
| 
 | 
 | ||||||
|         return OAUTH3.implicitGrant(directives, { |         return OAUTH3.implicitGrant(directives, { | ||||||
|           client_id: conf.client_uri |           client_id: conf.client_uri | ||||||
|         , client_uri: conf.client_uri |         , client_uri: conf.client_uri | ||||||
|         , windowType: 'background' |         , windowType: 'background' | ||||||
|  |         , scope: scope | ||||||
|         }).then(function (_session) { |         }).then(function (_session) { | ||||||
|           session = _session; |           session = _session; | ||||||
|           myOpts.session = session; |           myOpts.session = session; | ||||||
|  | |||||||
| @ -12,7 +12,8 @@ | |||||||
|     } |     } | ||||||
|   , error: { |   , error: { | ||||||
|       parse: function (providerUri, params) { |       parse: function (providerUri, params) { | ||||||
|         var err = new Error(params.error_description || params.error.message || "Unknown error with provider '" + providerUri + "'"); |         var msg = decodeURIComponent(params.error_description || params.error.message || "Unknown error with provider '" + providerUri + "'"); | ||||||
|  |         var err = new Error(msg); | ||||||
|         err.uri = params.error_uri || params.error.uri; |         err.uri = params.error_uri || params.error.uri; | ||||||
|         err.code = params.error.code || params.error; |         err.code = params.error.code || params.error; | ||||||
|         return err; |         return err; | ||||||
| @ -306,6 +307,8 @@ | |||||||
| 
 | 
 | ||||||
|         var params = { |         var params = { | ||||||
|           state: opts.state || OAUTH3.utils.randomState() |           state: opts.state || OAUTH3.utils.randomState() | ||||||
|  |         , client_uri: clientId | ||||||
|  |         , client_id: clientId | ||||||
|         , redirect_uri: clientId + (opts.client_callback_path || '/.well-known/oauth3/callback.html#/') |         , redirect_uri: clientId + (opts.client_callback_path || '/.well-known/oauth3/callback.html#/') | ||||||
|         , response_type: 'rpc' |         , response_type: 'rpc' | ||||||
|         , _method: 'GET' |         , _method: 'GET' | ||||||
| @ -835,6 +838,9 @@ | |||||||
|       ); |       ); | ||||||
| 
 | 
 | ||||||
|       if (opts.debug) { |       if (opts.debug) { | ||||||
|  |         console.log('[DEBUG] [implicit_grant] url object:'); | ||||||
|  |         console.log(directives.issuer); | ||||||
|  |         console.log(authReq); | ||||||
|         window.alert("DEBUG MODE: Pausing so you can look at logs and whatnot :) Fire at will!"); |         window.alert("DEBUG MODE: Pausing so you can look at logs and whatnot :) Fire at will!"); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
| @ -1012,6 +1018,10 @@ | |||||||
|           var headers = preq.headers || {}; |           var headers = preq.headers || {}; | ||||||
|           var multipart; |           var multipart; | ||||||
| 
 | 
 | ||||||
|  |           if (!headers.Accept && !headers.accept) { | ||||||
|  |             headers.Accept = 'application/json'; | ||||||
|  |           } | ||||||
|  | 
 | ||||||
|           try { |           try { | ||||||
|             xhr = new XMLHttpRequest(_sys); |             xhr = new XMLHttpRequest(_sys); | ||||||
|           } catch(e) { |           } catch(e) { | ||||||
| @ -1023,7 +1033,7 @@ | |||||||
|               return; |               return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             var data, err; |             var data, err, resp; | ||||||
|             if (xhr.status !== 200) { |             if (xhr.status !== 200) { | ||||||
|               err = new Error('bad status code: ' + xhr.status); |               err = new Error('bad status code: ' + xhr.status); | ||||||
|             } |             } | ||||||
| @ -1046,12 +1056,19 @@ | |||||||
|               return; |               return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             resolve({ |             resp = { | ||||||
|               _request: xhr |               _request: xhr | ||||||
|             , headers: null // TODO
 |             , headers: {} | ||||||
|             , data: data |             , data: data | ||||||
|             , status: xhr.status |             , status: xhr.status | ||||||
|  |             }; | ||||||
|  |             (xhr.getAllResponseHeaders()||'').trim().split(/[\n\r]+/).forEach(function (line) { | ||||||
|  |               var parts = line.split(': '); | ||||||
|  |               var header = parts.shift(); | ||||||
|  |               var value = parts.join(': '); | ||||||
|  |               resp.headers[header] = value; | ||||||
|             }); |             }); | ||||||
|  |             resolve(resp); | ||||||
|           }; |           }; | ||||||
|           xhr.ontimeout = function () { |           xhr.ontimeout = function () { | ||||||
|             var err = new Error('ETIMEDOUT'); |             var err = new Error('ETIMEDOUT'); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user