Skip to content

Commit

Permalink
#13 - Simplify admin page (#22)
Browse files Browse the repository at this point in the history
* Refactoring of the Franconnect configuration web page in Keycloak admin GUI

Signed-off-by: Arnault MICHEL <[email protected]>
  • Loading branch information
ArnaultMICHEL authored and micedre committed Nov 20, 2019
1 parent eee10bc commit 1d1ac9f
Show file tree
Hide file tree
Showing 5 changed files with 300 additions and 283 deletions.
Binary file modified assets/keycloak-fc-conf-provider.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ franceconnect.acr_values.eidas2=eidas2 : significant level (example : two factor
franceconnect.acr_values.eidas3=eidas3 : strong level (example : authentication with smartcard, USB Token, ... eIDAS compliant)
franceconnect.acr_values.tooltip=Select the user account warranty level. Effect : disabling lower level identity providers on FranceConnect login page.

franceconnect.config.advanced=Advanced configuration
franceconnect.config.advanced.tooltip=Advanced settings for tuning Keycloak and/or OpenID Connect.

franceconnect.logout.ignorstateparam=Ignore Absent State Parameter on logout
franceconnect.logout.ignorstateparam.tooltip=Enable to avoid errors when FranceConnect doesn''t return the sate parameter on logout

franceconnect.account.managment.link=Manage my FranceConnect Account

franceconnect.scopes.supported=List of FranceConnect supported scopes
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,13 @@ franceconnect.acr_values.eidas1=eidas 1 : niveau standard (exemple : authentific
franceconnect.acr_values.eidas2=eidas 2 : niveau substantiel (exemple : second facteur. Homologué eIDAS)
franceconnect.acr_values.eidas3=eidas 3 : niveau élevé (exemple : utilisation de certificats, lecteurs de cartes, ... Homologué eIDAS)
franceconnect.acr_values.tooltip=Permet de fixer le niveau de garantie du compte utilisateur souhaité. Effet : désactive des fournisseurs d'identités (FI) sur la page de login FranceConnect.


franceconnect.config.advanced=Configuration Avancée
franceconnect.config.advanced.tooltip=Paramètres de configuration avancée proposés par Keycloak et OpenID Connect

franceconnect.logout.ignorstateparam=Ignorer le paramètre State sur le logout
franceconnect.logout.ignorstateparam.tooltip=Enable to avoid errors when FranceConnect doesn''t return the sate parameter on logout

franceconnect.account.managment.link=Gérer mon espace FS FranceConnect

franceconnect.scopes.supported=Consulter les scopes proposés par FranceConnect
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@
</div>
<kc-tooltip>{{:: 'redirect-uri.tooltip' | translate}}</kc-tooltip>
</div>
</fieldset>
<fieldset>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="identifier"><span class="required">*</span> {{:: 'alias' | translate}}</label>
<div class="col-md-6">
Expand All @@ -33,13 +31,66 @@
</div>
<kc-tooltip>{{:: 'identity-provider.display-name.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="clientId"><span class="required">*</span> {{:: 'client-id' | translate}}</label>
<div class="col-md-6">
<input class="form-control" id="clientId" type="text" ng-model="identityProvider.config.clientId" required>
</div>
<div class="col-sm-4">
<a target="_blank" rel="noopener noreferrer" href="https://partenaires.franceconnect.gouv.fr/monprojet/cadrage/">{{:: 'franceconnect.account.managment.link' | translate}}</a>
</div>
<kc-tooltip>{{:: 'identity-provider.client-id.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="clientSecret"><span class="required">*</span> {{:: 'client-secret' | translate}}</label>
<div class="col-md-6">
<input class="form-control" id="clientSecret" kc-password ng-model="identityProvider.config.clientSecret" required>
</div>
<kc-tooltip>{{:: 'client-secret.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="defaultScope">{{:: 'default-scopes' | translate}} </label>
<div class="col-md-6">
<input class="form-control" id="defaultScope" type="text" ng-model="identityProvider.config.defaultScope">
</div>
<div class="col-sm-4">
<a target="_blank" rel="noopener noreferrer" href="https://partenaires.franceconnect.gouv.fr/fcp/fournisseur-service#identite_pivot">{{:: 'franceconnect.scopes.supported' | translate}}</a>
</div>
<kc-tooltip>{{:: 'identity-provider.default-scopes.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="enabled">{{:: 'enabled' | translate}}</label>
<label class="col-md-2 control-label" for="acrValues">{{:: 'franceconnect.acr_values' | translate}}</label>
<div class="col-md-6">
<div>
<select class="form-control" id="acrValues" ng-model="identityProvider.config.acr_values">
<option value="eidas1">{{:: 'franceconnect.acr_values.eidas1' | translate}}</option>
<option value="eidas2">{{:: 'franceconnect.acr_values.eidas2' | translate}}</option>
<option value="eidas3">{{:: 'franceconnect.acr_values.eidas3' | translate}}</option>
</select>
</div>
</div>
<kc-tooltip>{{:: 'franceconnect.acr_values.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="enabled">{{:: 'enabled' | translate}}</label>
<div class="col-md-6">
<input ng-model="identityProvider.enabled" id="enabled" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
</div>
<kc-tooltip>{{:: 'identity-provider.enabled.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="trustEmail">{{:: 'trust-email' | translate}}</label>
<div class="col-md-6">
<input ng-model="identityProvider.enabled" id="enabled" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
<input ng-model="identityProvider.trustEmail" name="identityProvider.trustEmail" id="trustEmail" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
</div>
<kc-tooltip>{{:: 'identity-provider.enabled.tooltip' | translate}}</kc-tooltip>
<kc-tooltip>{{:: 'trust-email.tooltip' | translate}}</kc-tooltip>
</div>

</fieldset>

<fieldset>
<legend collapsed><span class="text">{{:: 'franceconnect.config.advanced' | translate}}</span> <kc-tooltip>{{:: 'franceconnect.config.advanced.tooltip' | translate}}</kc-tooltip></legend>

<div class="form-group">
<label class="col-md-2 control-label" for="storeToken">{{:: 'store-tokens' | translate}}</label>
<div class="col-md-6">
Expand All @@ -54,13 +105,6 @@
</div>
<kc-tooltip>{{:: 'identity-provider.stored-tokens-readable.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="trustEmail">{{:: 'trust-email' | translate}}</label>
<div class="col-md-6">
<input ng-model="identityProvider.trustEmail" name="identityProvider.trustEmail" id="trustEmail" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
</div>
<kc-tooltip>{{:: 'trust-email.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="linkOnly">{{:: 'link-only' | translate}}</label>
<div class="col-md-6">
Expand Down Expand Up @@ -107,9 +151,6 @@
</div>
<kc-tooltip>{{:: 'post-broker-login-flow.tooltip' | translate}}</kc-tooltip>
</div>
</fieldset>
<fieldset>
<legend uncollapsed><span class="text">{{:: 'openid-connect-config' | translate}}</span> <kc-tooltip>{{:: 'openid-connect-config.tooltip' | translate}}</kc-tooltip></legend>

<div class="form-group">
<label class="col-sm-2 control-label" for="loginHint">{{:: 'loginHint' | translate}}</label>
Expand All @@ -125,43 +166,7 @@
</div>
<kc-tooltip>{{:: 'uiLocales.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="clientId"><span class="required">*</span> {{:: 'client-id' | translate}}</label>
<div class="col-md-6">
<input class="form-control" id="clientId" type="text" ng-model="identityProvider.config.clientId" required>
<a href="https://partenaires.franceconnect.gouv.fr/monprojet/cadrage/" target="_blank" rel="noopener noreferrer">{{:: 'franceconnect.account.managment.link' | translate}}</a>
</div>
<kc-tooltip>{{:: 'identity-provider.client-id.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group clearfix">
<label class="col-md-2 control-label" for="clientSecret"><span class="required">*</span> {{:: 'client-secret' | translate}}</label>
<div class="col-md-6">
<input class="form-control" id="clientSecret" kc-password ng-model="identityProvider.config.clientSecret" required>
</div>
<kc-tooltip>{{:: 'client-secret.tooltip' | translate}}</kc-tooltip>
</div>

<div class="form-group clearfix">
<label class="col-md-2 control-label" for="defaultScope">{{:: 'default-scopes' | translate}} </label>
<div class="col-md-6">
<input class="form-control" id="defaultScope" type="text" ng-model="identityProvider.config.defaultScope">
<a href="https://partenaires.franceconnect.gouv.fr/fcp/fournisseur-service#identite_pivot" target="_blank" rel="noopener noreferrer">{{:: 'franceconnect.scopes.supported' | translate}}</a>
</div>
<kc-tooltip>{{:: 'identity-provider.default-scopes.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="acrValues">{{:: 'franceconnect.acr_values' | translate}}</label>
<div class="col-md-6">
<div>
<select class="form-control" id="acrValues" ng-model="identityProvider.config.acr_values">
<option value="eidas1">{{:: 'franceconnect.acr_values.eidas1' | translate}}</option>
<option value="eidas2">{{:: 'franceconnect.acr_values.eidas2' | translate}}</option>
<option value="eidas3">{{:: 'franceconnect.acr_values.eidas3' | translate}}</option>
</select>
</div>
</div>
<kc-tooltip>{{:: 'franceconnect.acr_values.tooltip' | translate}}</kc-tooltip>
</div>

<div class="form-group">
<label class="col-md-2 control-label" for="prompt">{{:: 'prompt' | translate}}</label>
<div class="col-md-6">
Expand All @@ -185,14 +190,12 @@
<kc-tooltip>{{:: 'identity-provider.validate-signatures.tooltip' | translate}}</kc-tooltip>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="ignoreAbsentStateParameterLogout">Ignore Absent State Parameter on logout</label>
<label class="col-md-2 control-label" for="ignoreAbsentStateParameterLogout">{{:: 'franceconnect.logout.ignorstateparam' | translate}}</label>
<div class="col-md-6">
<input ng-model="identityProvider.config.ignoreAbsentStateParameterLogout" id="ignoreAbsentStateParameterLogout" onoffswitchvalue on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" />
</div>
<kc-tooltip>Enable to avoid errors when FranceConnect doesn''t return the sate parameter on logout</kc-tooltip>
<kc-tooltip>{{:: 'franceconnect.logout.ignorstateparam.tooltip' | translate}}</kc-tooltip>
</div>


<div class="form-group">
<label class="col-md-2 control-label" for="allowedClockSkew">{{:: 'allowed-clock-skew' | translate}}</label>
<div class="col-md-6">
Expand Down Expand Up @@ -254,4 +257,4 @@
</div>


<kc-menu></kc-menu>
<kc-menu></kc-menu>
Loading

0 comments on commit 1d1ac9f

Please sign in to comment.