opens authorization_dialog
This commit is contained in:
		
							parent
							
								
									a16fbdd764
								
							
						
					
					
						commit
						c5cc2be470
					
				
							
								
								
									
										13
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								index.html
									
									
									
									
									
								
							| @ -153,18 +153,19 @@ | |||||||
|           <div class="col-md-12"> |           <div class="col-md-12"> | ||||||
|             <h2>Go ahead, test our login</h2> |             <h2>Go ahead, test our login</h2> | ||||||
| 
 | 
 | ||||||
|             <div ng-if="vm.error" ng-bind="vm.error.message" class="alert alert-warning">err</div> |             <div ng-if="vm.error" class="alert alert-warning"><span ng-bind="vm.error.message"></span><button class="btn btn-danger pull-right" type="button" ng-click="vm.error = null">X</button></div> | ||||||
|             <div ng-if="vm._working" class="alert alert-info"> |             <div ng-if="vm._working" class="alert alert-info"> | ||||||
|               <marquee>taking my sweet time to do something in the background...</marquee> |               <marquee>taking my sweet time to do something in the background...</marquee> | ||||||
|             </div> |             </div> | ||||||
|  |             <div ng-if="vm.validated.provider" class="alert alert-success"><span ng-bind="vm.validated.provider"> is a valid login provider</span></div> | ||||||
| 
 | 
 | ||||||
|             <label>Address:</label> |             <label>Address:</label> | ||||||
|             <input type="text" placeholder="ex: john@example.com" class="form-control" ng-model="vm.form.id" ng-change="vm.fn.changeUser()"> |             <input type="text" placeholder="ex: john@example.com" class="form-control" ng-model="vm.form.id" ng-change="vm.fn.changeUser()"> | ||||||
|             <label ng-if="vm.advanced">Identity Issuer:</label> |             <label ng-if="vm.advanced">Identity Issuer:</label> | ||||||
|             <input ng-if="vm.advanced" type="text" class="form-control" ng-model="vm.form.provider" placeholder="ex: sso.example.com" ng-change="vm.fn.changeProvider()"> |             <input ng-if="vm.advanced" type="text" class="form-control" ng-model="vm.form.provider" placeholder="ex: sso.example.com" ng-change="vm.fn.changeProvider()"> | ||||||
|             <button class="btn btn-link" ng-if="vm.advanced" ng-click="vm.fn.toggleAdvanced()">hide advanced</button> |             <button class="btn btn-link" ng-if="!vm.advanced" ng-click="vm.fn.toggleAdvanced()">open advanced</button> | ||||||
|             <button class="btn btn-link" ng-if="!vm.advanced" ng-click="vm.fn.toggleAdvanced()">show advanced</button> |             <button class="btn btn-link" ng-if="vm.advanced" ng-click="vm.fn.toggleAdvanced()">close advanced</button> | ||||||
|             <button class="btn btn-primary" ng-click="vm.fn.login()" ng-disabled="!vm.validated.provider">Login</button> |             <button class="btn btn-primary" ng-click="vm.api.implicitGrant()" ng-disabled="!vm.validated.provider">Login</button> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
| @ -187,9 +188,9 @@ | |||||||
| 
 | 
 | ||||||
|             <div class="row"> |             <div class="row"> | ||||||
|               <div class="col-md-5"> |               <div class="col-md-5"> | ||||||
|                 Client URI: |                 Client URI: <span ng-bind="vm.conf.client_uri"></span> | ||||||
|                 <br> |                 <br> | ||||||
|                 <span ng-bind="vm.conf.client_uri"></span> |                 (this is the URL of the application as per window.location.href) | ||||||
|               </div> |               </div> | ||||||
|               <div class="col-md-7"> |               <div class="col-md-7"> | ||||||
|                 <pre><code>OAUTH3.clientUri({ host: "<span ng-bind="vm.clientUri"></span>" });</code></pre> |                 <pre><code>OAUTH3.clientUri({ host: "<span ng-bind="vm.clientUri"></span>" });</code></pre> | ||||||
|  | |||||||
| @ -77,7 +77,7 @@ | |||||||
|         vm.form.user = parts.join(''); |         vm.form.user = parts.join(''); | ||||||
|       } else { |       } else { | ||||||
|         //vm.form.hasUser = false;
 |         //vm.form.hasUser = false;
 | ||||||
|         vm.form.user = null; |         vm.form.user = ''; | ||||||
|         provider = parts.join(''); |         provider = parts.join(''); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
| @ -86,17 +86,24 @@ | |||||||
|       } |       } | ||||||
|       vm.form.userProvider = provider; |       vm.form.userProvider = provider; | ||||||
| 
 | 
 | ||||||
|       vm.fn.debounce('provider', 250).then(function () { |       parts = vm.form.provider.split('.'); | ||||||
|  |       return vm.fn.debounce('provider', 250).then(function () { | ||||||
|  |         // Careful: don't use state within a debounce function
 | ||||||
|         // uses vm.form.provider for lookup
 |         // uses vm.form.provider for lookup
 | ||||||
|         if (vm.form.provider.length >= 5 && vm.form.provider.split('.').length >= 2) { |         if (parts.length >= 2 && parts[parts.length - 1].length >= 2 && parts.every(function (p) {return p.length})) { | ||||||
|           vm.api.discover(); |           return vm.api.discover(); | ||||||
|         } |         } | ||||||
|       }); |       }); | ||||||
|     }; |     }; | ||||||
|     vm.fn.changeProvider = function () { |     vm.fn.changeProvider = function () { | ||||||
|       vm.form.providerIndependent = true; |       vm.form.providerIndependent = true; | ||||||
|  | 
 | ||||||
|  |       var parts = vm.form.provider.split('.'); | ||||||
|       vm.fn.debounce('provider', 250).then(function () { |       vm.fn.debounce('provider', 250).then(function () { | ||||||
|         console.log("[TODO] discover advanced-provider"); |         // Careful: don't use state within a debounce function
 | ||||||
|  |         if (parts.length >= 2 && parts[parts.length - 1].length >= 2 && parts.every(function (p) {return p.length})) { | ||||||
|  |           return vm.api.discover(); | ||||||
|  |         } | ||||||
|       }); |       }); | ||||||
|     }; |     }; | ||||||
|     vm.fn.toggleAdvanced = function () { |     vm.fn.toggleAdvanced = function () { | ||||||
| @ -170,7 +177,8 @@ | |||||||
|         console.log('[DEBUG] directives:'); |         console.log('[DEBUG] directives:'); | ||||||
|         console.log(dir); |         console.log(dir); | ||||||
|         vm.validated.provider = provider; |         vm.validated.provider = provider; | ||||||
|         vm.directives = JSON.stringify(dir, null, 2); |         vm.directives = dir; | ||||||
|  |         //JSON.stringify(dir, null, 2);
 | ||||||
|       }, function (err) { |       }, function (err) { | ||||||
|         if (latest !== vm.api._discoverCount) { |         if (latest !== vm.api._discoverCount) { | ||||||
|           console.warn('[DEBUG] ignoring stale discover error for', provider); |           console.warn('[DEBUG] ignoring stale discover error for', provider); | ||||||
| @ -183,6 +191,19 @@ | |||||||
|         vm.fn.unlock(); |         vm.fn.unlock(); | ||||||
|       }); |       }); | ||||||
|     }; |     }; | ||||||
|  |     vm.api.implicitGrant = function () { | ||||||
|  |       var provider = vm.validated.provider; | ||||||
|  |       var opts = { | ||||||
|  |         client_uri: vm.conf.client_uri | ||||||
|  |       , subject: vm.form.user | ||||||
|  |       }; | ||||||
|  | 
 | ||||||
|  |       vm.implicitGrantObj = OAUTH3.urls.implicitGrant(vm.directives, opts); | ||||||
|  |       console.log('[DEBUG] vm.implicitGrantObj'); | ||||||
|  |       console.log(vm.implicitGrantObj); | ||||||
|  |       vm.implicitGrantUrl = OAUTH3.url.normalize(provider) + '/' + vm.implicitGrantObj.query._pathname; | ||||||
|  |       return OAUTH3.implicitGrant(provider, opts); | ||||||
|  |     }; | ||||||
| 
 | 
 | ||||||
| 	} ] ); | 	} ] ); | ||||||
| }()); | }()); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user