Fixes #306 - Adds support for Dex as an OAuth external login provider - Adds support for OIDC in general - Extract out external logins on the JS side into a service - Add a feature flag for disabling direct login - Add support for directing to the single external login service - Does *not* yet support the config in the superuser tool
		
			
				
	
	
		
			56 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <div class="user-setup-element">
 | |
|   <div class="panel-group" id="accordion">
 | |
|     <div class="panel panel-default">
 | |
|       <div class="panel-heading">
 | |
|         <h4 class="panel-title accordion-title">
 | |
|           <a id="signinToggle" class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" data-target="#collapseSignin">
 | |
|             Sign In
 | |
|           </a>
 | |
|         </h4>
 | |
|       </div>
 | |
|       <div id="collapseSignin" class="panel-collapse collapse" ng-class="hasSignedIn() ? 'in' : 'out'">
 | |
|         <div class="panel-body">
 | |
|           <div class="signin-form" signed-in="signedIn()" sign-in-started="signInStarted()" redirect-url="redirectUrl" invite-code="inviteCode"></div>
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|     <div class="panel panel-default"
 | |
|          quay-show="Features.USER_CREATION && Config.AUTHENTICATION_TYPE == 'Database' && Features.DIRECT_LOGIN">
 | |
|       <div class="panel-heading">
 | |
|         <h6 class="panel-title accordion-title">
 | |
|           <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" data-target="#collapseRegister">
 | |
|             Create Account
 | |
|           </a>
 | |
|         </h6>
 | |
|       </div>
 | |
|       <div id="collapseRegister" class="panel-collapse collapse" ng-class="hasSignedIn() ? 'out' : 'in'">
 | |
|         <div class="panel-body">
 | |
|           <div class="signup-form" user-registered="handleUserRegistered(username)" invite-code="inviteCode"></div>
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|     <div class="panel panel-default"
 | |
|          quay-show="Features.MAILING && Config.AUTHENTICATION_TYPE == 'Database' && Features.DIRECT_LOGIN">
 | |
|       <div class="panel-heading">
 | |
|         <h6 class="panel-title accordion-title">
 | |
|           <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" data-target="#collapseForgot">
 | |
|             Forgot Password
 | |
|           </a>
 | |
|         </h6>
 | |
|       </div>
 | |
|       <div id="collapseForgot" class="panel-collapse collapse out">
 | |
|         <div class="quay-spinner" ng-show="sendingRecovery"></div>
 | |
|         <div class="panel-body" ng-show="!sendingRecovery">
 | |
|           <form class="form-signin" ng-submit="sendRecovery();">
 | |
|             <input type="text" class="form-control input-lg" placeholder="Email" ng-model="recovery.email">
 | |
|             <button class="btn btn-lg btn-primary btn-block" type="submit">Send Recovery Email</button>
 | |
|           </form>
 | |
| 
 | |
|           <div class="alert alert-danger" ng-show="invalidRecovery">{{errorMessage}}</div>
 | |
| 
 | |
|           <div class="alert alert-success" ng-show="sent">Account recovery email was sent.</div>
 | |
|         </div>
 | |
|       </div>
 | |
|     </div>
 | |
|   </div>
 | |
| </div>
 |