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
44 lines
No EOL
1.8 KiB
HTML
44 lines
No EOL
1.8 KiB
HTML
<div class="external-logins-manager-element">
|
|
<div class="manager-header" header-title="External Logins"></div>
|
|
|
|
<div class="section-description-header">
|
|
The external logins panel lists all supported external login providers, which can be used for one-click OAuth-based login to <span class="registry-name"></span>. Accounts can be attached or detached by clicking the associated button below.
|
|
</div>
|
|
|
|
<table class="co-table">
|
|
<thead>
|
|
<td>Provider</td>
|
|
<td>Account Status</td>
|
|
<td quay-show="Features.DIRECT_LOGIN">Attach/Detach</td>
|
|
</thead>
|
|
|
|
<tr class="external-auth-provider" ng-repeat="provider in EXTERNAL_LOGINS">
|
|
<td class="external-auth-provider-title">
|
|
<img ng-src="{{ provider.icon().url }}" ng-if="provider.icon().url">
|
|
<i class="fa" ng-class="provider.icon().icon" ng-if="provider.icon().icon"></i>
|
|
{{ provider.title() }}
|
|
</td>
|
|
<td>
|
|
<span ng-if="externalLoginInfo[provider.id]">
|
|
Attached to {{ provider.title() }} account
|
|
<b ng-if="provider.hasUserInfo">
|
|
<a ng-href="{{ provider.getUserInfo(externalLoginInfo[provider.id]).endpoint }}" target="_blank">
|
|
{{ provider.getUserInfo(externalLoginInfo[provider.id]).username }}
|
|
</a>
|
|
</b>
|
|
</span>
|
|
|
|
<span class="empty" ng-if="!externalLoginInfo[provider.id]">
|
|
Not attached to {{ provider.title() }}
|
|
</span>
|
|
</td>
|
|
|
|
<td>
|
|
<span class="external-login-button" provider="{{ provider.id }}" action="attach" is-link="true"
|
|
ng-if="!externalLoginInfo[provider.id]"></span>
|
|
<a href="javascript:void(0)" ng-if="externalLoginInfo[provider.id] && Features.DIRECT_LOGIN"
|
|
ng-click="detachExternalLogin(provider.id)">Detach Account</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div> |