diff --git a/custom.sample/keycloak/themes/liiibre/admin/resources/js/script.js b/custom.sample/keycloak/themes/liiibre/admin/resources/js/script.js new file mode 100644 index 0000000..1529e71 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibre/admin/resources/js/script.js @@ -0,0 +1,77 @@ +module.controller( + "LiiibreGroupUserCtl", + function LiiibreGroupUserCtl( + $scope, + $route, + $translate, + User, + UserGroupMapping, + UserGroupMembership, + Notifications + ) { + const { realm, group } = $route.current.params; + + $scope.query = ""; + $scope.users = []; + $scope.memberIds = []; + + $scope.search = () => { + User.query( + { + realm, + search: $scope.query, + first: 0, + max: 5, + }, + (users) => { + console.log(users); + + $scope.users = []; + for (const user of users) { + UserGroupMembership.query({ realm, userId: user.id }, (groups) => { + user.isMember = !!groups.find((x) => x.id == group); + $scope.users.push(user); + }); + } + } + ); + }; + + $scope.clearSearch = () => { + $scope.query = ""; + $scope.users = []; + }; + + $scope.join = (id) => { + console.log(id); + UserGroupMapping.update( + { + realm, + userId: id, + groupId: group, + }, + () => { + Notifications.success($translate.instant("user.groups.join.success")); + $scope.search(); + } + ); + }; + + $scope.leave = (id) => { + console.log(id); + UserGroupMapping.remove( + { + realm, + userId: id, + groupId: group, + }, + () => { + Notifications.success( + $translate.instant("user.groups.leave.success") + ); + $scope.search(); + } + ); + }; + } +); diff --git a/custom.sample/keycloak/themes/liiibre/admin/resources/partials/group-members.html b/custom.sample/keycloak/themes/liiibre/admin/resources/partials/group-members.html new file mode 100644 index 0000000..c83fae5 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibre/admin/resources/partials/group-members.html @@ -0,0 +1,92 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{:: 'username' | translate}}{{:: 'last-name' | translate}}{{:: 'first-name' | translate}}{{:: 'email' | translate}}
+
+ + + +
+
{{user.username}}{{user.lastName}}{{user.firstName}}{{user.email}}{{:: 'edit' | translate}} +
{{:: + 'no-group-members' | translate}}{{:: + 'no-group-members' | translate}}
+
+
+
+
+ + +
+
+
+ +
+
+
+
+
+ + +
+
+
+ +
+
+
+
+ {{ user.firstName }} {{ user.lastName }} +
+
+ {{ user.username }} +
+
+
+ +
+
+
+
+
+ + \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibre/admin/theme.properties b/custom.sample/keycloak/themes/liiibre/admin/theme.properties new file mode 100644 index 0000000..88c331a --- /dev/null +++ b/custom.sample/keycloak/themes/liiibre/admin/theme.properties @@ -0,0 +1,4 @@ +parent=keycloak +import=common/keycloak + +scripts=js/script.js diff --git a/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification-with-code.ftl b/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification-with-code.ftl new file mode 100644 index 0000000..66e8925 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification-with-code.ftl @@ -0,0 +1,5 @@ + + +${kcSanitize(msg("emailVerificationBodyCodeHtml",code))?no_esc} + + diff --git a/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification.ftl b/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification.ftl new file mode 100644 index 0000000..dacabd2 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/html/email-verification.ftl @@ -0,0 +1,5 @@ + + +${kcSanitize(msg("emailVerificationBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc} + + diff --git a/custom.sample/keycloak/themes/liiibrelite/email/html/password-reset.ftl b/custom.sample/keycloak/themes/liiibrelite/email/html/password-reset.ftl new file mode 100644 index 0000000..b2840b6 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/html/password-reset.ftl @@ -0,0 +1,5 @@ + + +${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc} + + \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_en.properties b/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_en.properties new file mode 100644 index 0000000..6b11669 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_en.properties @@ -0,0 +1,51 @@ +emailVerificationSubject=Let''s verify your email :) +emailVerificationBody=Hi!\n\nYou''re one click away from enjoying "{2}". Please click on this link to confirm your email now:\n\n{0}\n\nIf you didn''t create this account, just ignore this message.\n\nPS: Be quick, this link will expire within {3} for security reasons. +emailVerificationBodyHtml=

Hi!
You''re one click away from enjoying "{2}". Please click HERE to confirm your email now.


If you didn''t create this account, just ignore this message.


PS: Be quick, this link will expire within {3} for security reasons.

+emailTestSubject=[KEYCLOAK] - SMTP test message +emailTestBody=This is a test message +emailTestBodyHtml=

This is a test message

+identityProviderLinkSubject=Link {0} +identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {5}.\n\nIf you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}. +identityProviderLinkBodyHtml=

Someone wants to link your {1} account with {0} account of user {2} . If this was you, click the link below to link accounts

Link to confirm account linking

This link will expire within {5}.

If you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.

+passwordResetSubject=Reset your password +passwordResetBody=Hi!\n\nLost your password? No worries, it happens to everyone :)\n\n\n\nHere's your link to reset it:\n\n{0}If you didn''t ask for it, just ignore this message.\n\nPS: Be quick, this link will expire within {3} for security reasons. +passwordResetBodyHtml=

Hi!
Lost your password? No worries, it happens to everyone :)


Please click HERE to reset it.


If you didn''t ask for it, just ignore this message.


PS: Be quick, this link will expire within {3} for security reasons.

+executeActionsSubject=Update Your Account +executeActionsBody=Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.\n\n{0}\n\nThis link will expire within {4}.\n\nIf you are unaware that your administrator has requested this, just ignore this message and nothing will be changed. +executeActionsBodyHtml=

Your administrator has just requested that you update your {2} account by performing the following action(s): {3}. Click on the link below to start this process.

Link to account update

This link will expire within {4}.

If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.

+eventLoginErrorSubject=Login error +eventLoginErrorBody=A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator. +eventLoginErrorBodyHtml=

A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.

+eventRemoveTotpSubject=Remove OTP +eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator. +eventRemoveTotpBodyHtml=

OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.

+eventUpdatePasswordSubject=Update password +eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an administrator. +eventUpdatePasswordBodyHtml=

Your password was changed on {0} from {1}. If this was not you, please contact an administrator.

+eventUpdateTotpSubject=Update OTP +eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator. +eventUpdateTotpBodyHtml=

OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.

+ +requiredAction.CONFIGURE_TOTP=Configure OTP +requiredAction.terms_and_conditions=Terms and Conditions +requiredAction.UPDATE_PASSWORD=Update Password +requiredAction.UPDATE_PROFILE=Update Profile +requiredAction.VERIFY_EMAIL=Verify Email + +# units for link expiration timeout formatting +linkExpirationFormatter.timePeriodUnit.seconds=seconds +linkExpirationFormatter.timePeriodUnit.seconds.1=second +linkExpirationFormatter.timePeriodUnit.minutes=minutes +linkExpirationFormatter.timePeriodUnit.minutes.1=minute +#for language which have more unit plural forms depending on the value (eg. Czech and other Slavic langs) you can override unit text for some other values like this: +#linkExpirationFormatter.timePeriodUnit.minutes.2=minuty +#linkExpirationFormatter.timePeriodUnit.minutes.3=minuty +#linkExpirationFormatter.timePeriodUnit.minutes.4=minuty +linkExpirationFormatter.timePeriodUnit.hours=hours +linkExpirationFormatter.timePeriodUnit.hours.1=hour +linkExpirationFormatter.timePeriodUnit.days=days +linkExpirationFormatter.timePeriodUnit.days.1=day + +emailVerificationBodyCode=Please verify your email address by entering in the following code.\n\n{0}\n\n. +emailVerificationBodyCodeHtml=

Please verify your email address by entering in the following code.

{0}

+ diff --git a/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_fr.properties b/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_fr.properties new file mode 100644 index 0000000..c78a281 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/messages/messages_fr.properties @@ -0,0 +1,21 @@ +emailVerificationSubject=V\u00e9rifions votre courriel :) +emailVerificationBody=Bonjour\n\nVoici le lien pour v\u00e9rifier votre courriel et profiter de votre espace "{2}" :\n\n{0}\n\n\n\nNe tardez pas trop, par mesure de s\u00e9curit\u00e9 ce lien expire dans {1} minutes.\n\nSi ce courriel ne vous concerne pas, vous pouvez l''ignorer. +emailVerificationBodyHtml=

Bonjour,
plus qu''un clic sur ce lien de confirmation pour v\u00e9rifier votre courriel et profiter de votre espace "{2}" :)


Si ce courriel ne vous concerne pas, vous pouvez l''ignorer.


PS: Ne tardez pas trop, par mesure de s\u00e9curit\u00e9 ce lien expire dans {1} minutes.

+passwordResetSubject=R\u00e9initialiser votre mot de passe +passwordResetBody=Bonjour,\n\nun oublie de mot de passe ?\n\n\n\nPas de souci, \u00E7a arrive \u00e0 tout le monde :)\n\n\n\nVoici le lien pour r\u00e9initialiser le mot de passe de votre compte "{2}" :\n\n{0}\n\n\n\nNe tardez pas trop, par mesure de s\u00e9curit\u00e9 ce lien expire dans {1} minutes.\n\nSi ce courriel ne vous concerne pas, vous pouvez l''ignorer. +passwordResetBodyHtml=

Bonjour,
un oubli de mot de passe ?

Pas de souci, \u00E7a arrive \u00e0 tout le monde :)
Veuillez cliquer sur ce lien de r\u00e9initialisation de mot de passe pour retrouver l''acc\u00e8s \u00e0 votre compte "{2}".


Si ce courriel ne vous concerne pas, vous pouvez l''ignorer.


PS: Ne tardez pas trop, par mesure de s\u00e9curit\u00e9 ce lien expire dans {1} minutes.

+executeActionsSubject=Mettre \u00e0 jour votre compte +executeActionsBody=Votre administrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSi vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte. +executeActionsBodyHtml=

Votre administrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin de commencer le processus.

{0}

Ce lien expire dans {1} minute(s).

Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez ignorer ce message ; aucun changement ne sera effectu\u00e9 sur votre compte.

+eventLoginErrorSubject=Erreur de connexion +eventLoginErrorBody=Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte {0} depuis {1}. Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. +eventLoginErrorBodyHtml=

Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte {0} depuis {1}. Si vous n''\u00eates pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

+eventRemoveTotpSubject=Suppression du OTP +eventRemoveTotpBody=Le OTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. +eventRemoveTotpBodyHtml=

Le OTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

+eventUpdatePasswordSubject=Mise \u00e0 jour du mot de passe +eventUpdatePasswordBody=Votre mot de passe pour votre compte {0} a \u00e9t\u00e9 modifi\u00e9 depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. +eventUpdatePasswordBodyHtml=

Votre mot de passe pour votre compte {0} a \u00e9t\u00e9 modifi\u00e9 depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

+eventUpdateTotpSubject=Mise \u00e0 jour du OTP +eventUpdateTotpBody=Le OTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur. +eventUpdateTotpBodyHtml=

Le OTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte {0} depuis {1}. Si vous n''\u00e9tiez pas \u00e0 l''origine de cette requ\u00eate, veuillez contacter votre administrateur.

diff --git a/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification-with-code.ftl b/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification-with-code.ftl new file mode 100644 index 0000000..4ffb7d8 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification-with-code.ftl @@ -0,0 +1,2 @@ +<#ftl output_format="plainText"> +${msg("emailVerificationBodyCode",code)} \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification.ftl b/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification.ftl new file mode 100644 index 0000000..9e39696 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/text/email-verification.ftl @@ -0,0 +1,2 @@ +<#ftl output_format="plainText"> +${msg("emailVerificationBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))} \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/email/text/password-reset.ftl b/custom.sample/keycloak/themes/liiibrelite/email/text/password-reset.ftl new file mode 100644 index 0000000..27405c9 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/text/password-reset.ftl @@ -0,0 +1,2 @@ +<#ftl output_format="plainText"> +${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))} \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/email/theme.properties b/custom.sample/keycloak/themes/liiibrelite/email/theme.properties new file mode 100644 index 0000000..973a3bb --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/email/theme.properties @@ -0,0 +1,3 @@ +locales=en,fr + +parent=base \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_en.properties b/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_en.properties new file mode 100644 index 0000000..3cd6b55 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_en.properties @@ -0,0 +1,378 @@ +doLogIn=Log In +doRegister=Register +doRegisterNow=Confirm +doCancel=Cancel +doSubmit=Submit +doBack=Back +doYes=Yes +doNo=No +doContinue=Continue +doIgnore=Ignore +doAccept=Accept +doDecline=Decline +doForgotPassword=Forgot Password? +doClickHere=Click here +doImpersonate=Impersonate +doTryAgain=Try again +doTryAnotherWay=Try Another Way +kerberosNotConfigured=Kerberos Not Configured +kerberosNotConfiguredTitle=Kerberos Not Configured +bypassKerberosDetail=Either you are not logged in by Kerberos or your browser is not set up for Kerberos login. Please click continue to login in through other means +kerberosNotSetUp=Kerberos is not set up. You cannot login. +registerTitle=Register +loginTitle=Log in to {0} +loginTitleHtml={0} +impersonateTitle={0} Impersonate User +impersonateTitleHtml={0} Impersonate User +realmChoice=Realm +unknownUser=Unknown user +loginTotpTitle=Mobile Authenticator Setup +loginProfileTitle=Update Account Information +loginTimeout=Your login attempt timed out. Login will start from the beginning. +oauthGrantTitle=Grant Access to {0} +oauthGrantTitleHtml={0} +errorTitle=We are sorry... +errorTitleHtml=We are sorry ... +emailVerifyTitle=Email verification +emailForgotTitle=Forgot Your Password? +updatePasswordTitle=Update password +codeSuccessTitle=Success code +codeErrorTitle=Error code\: {0} +displayUnsupported=Requested display type unsupported +browserRequired=Browser required to login +browserContinue=Browser required to complete login +browserContinuePrompt=Open browser and continue login? [y/n]: +browserContinueAnswer=y + + +termsTitle=Terms and Conditions +termsText=

Terms and conditions to be defined

+termsPlainText=Terms and conditions to be defined. + +recaptchaFailed=Invalid Recaptcha +recaptchaNotConfigured=Recaptcha is required, but not configured +consentDenied=Consent denied. + +noAccount=New user? +username=Username +usernameOrEmail=Username or email +firstName=First name +givenName=Given name +fullName=Full name +lastName=Last name +familyName=Family name +email=Email +password=Password +passwordConfirm=Confirm password +passwordNew=New Password +passwordNewConfirm=New Password confirmation +rememberMe=Remember me +authenticatorCode=One-time code +address=Address +street=Street +locality=City or Locality +region=State, Province, or Region +postal_code=Zip or Postal code +country=Country +emailVerified=Email verified +gssDelegationCredential=GSS Delegation Credential + +usernamePlaceholder=CamilleLila +usernameHelper=This is how other members will be able to identify you. Attention this choice is definitive, it is recommended to opt for a username under the form ''firstnamelastname''. +firstNamePlaceholder=Camille +lastNamePlaceholder=Lila +emailPlaceholder=c.lila@mail.com + +profileScopeConsentText=User profile +emailScopeConsentText=Email address +addressScopeConsentText=Address +phoneScopeConsentText=Phone number +offlineAccessScopeConsentText=Offline Access +samlRoleListScopeConsentText=My Roles +rolesScopeConsentText=User roles + +restartLoginTooltip=Restart login + +loginTotpIntro=You need to set up a One Time Password generator to access this account +loginTotpStep1=Install one of the following applications on your mobile: +loginTotpStep2=Open the application and scan the barcode: +loginTotpStep3=Enter the one-time code provided by the application and click Submit to finish the setup. +loginTotpStep3DeviceName=Provide a Device Name to help you manage your OTP devices. +loginTotpManualStep2=Open the application and enter the key: +loginTotpManualStep3=Use the following configuration values if the application allows setting them: +loginTotpUnableToScan=Unable to scan? +loginTotpScanBarcode=Scan barcode? +loginCredential=Credential +loginOtpOneTime=One-time code +loginTotpType=Type +loginTotpAlgorithm=Algorithm +loginTotpDigits=Digits +loginTotpInterval=Interval +loginTotpCounter=Counter +loginTotpDeviceName=Device Name + +loginTotp.totp=Time-based +loginTotp.hotp=Counter-based + +loginChooseAuthenticator=Select login method + +oauthGrantRequest=Do you grant these access privileges? +inResource=in + +emailVerifyInstruction1=An email with instructions to verify your email address has been sent to you. +emailVerifyInstruction2=Haven''t received a verification code in your email? +emailVerifyInstruction3=to re-send the email. + +emailLinkIdpTitle=Link {0} +emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you. +emailLinkIdp2=Haven''t received a verification code in your email? +emailLinkIdp3=to re-send the email. +emailLinkIdp4=If you already verified the email in different browser +emailLinkIdp5=to continue. + +backToLogin=« Back to Login + +emailInstruction=Enter your username or email address and we will send you instructions on how to create a new password. + +copyCodeInstruction=Please copy this code and paste it into your application: + +pageExpiredTitle=Page has expired +pageExpiredMsg1=To restart the login process +pageExpiredMsg2=To continue the login process + +personalInfo=Personal Info: +role_admin=Admin +role_realm-admin=Realm Admin +role_create-realm=Create realm +role_create-client=Create client +role_view-realm=View realm +role_view-users=View users +role_view-applications=View applications +role_view-clients=View clients +role_view-events=View events +role_view-identity-providers=View identity providers +role_manage-realm=Manage realm +role_manage-users=Manage users +role_manage-applications=Manage applications +role_manage-identity-providers=Manage identity providers +role_manage-clients=Manage clients +role_manage-events=Manage events +role_view-profile=View profile +role_manage-account=Manage account +role_manage-account-links=Manage account links +role_read-token=Read token +role_offline-access=Offline access +client_account=Account +client_account-console=Account Console +client_security-admin-console=Security Admin Console +client_admin-cli=Admin CLI +client_realm-management=Realm Management +client_broker=Broker + +requiredFields=Required fields + +invalidUserMessage=Invalid username or password. +invalidUsernameMessage=Invalid username. +invalidUsernameOrEmailMessage=Invalid username or email. +invalidPasswordMessage=Invalid password. +invalidEmailMessage=Invalid email address. +accountDisabledMessage=Account is disabled, contact your administrator. +accountTemporarilyDisabledMessage=Account is temporarily disabled; contact your administrator or retry later. +expiredCodeMessage=Login timeout. Please log in again. +expiredActionMessage=Action expired. Please continue with login now. +expiredActionTokenNoSessionMessage=Action expired. +expiredActionTokenSessionExistsMessage=Action expired. Please start again. + +missingFirstNameMessage=Please specify first name. +missingLastNameMessage=Please specify last name. +missingEmailMessage=Please specify email. +missingUsernameMessage=Please specify username. +missingPasswordMessage=Please specify password. +missingTotpMessage=Please specify authenticator code. +missingTotpDeviceNameMessage=Please specify device name. +notMatchPasswordMessage=Passwords don''t match. + +invalidPasswordExistingMessage=Invalid existing password. +invalidPasswordBlacklistedMessage=Invalid password: password is blacklisted. +invalidPasswordConfirmMessage=Password confirmation doesn''t match. +invalidTotpMessage=Invalid authenticator code. + +usernameExistsMessage=Username already exists. +emailExistsMessage=Email already exists. + +federatedIdentityExistsMessage=User with {0} {1} already exists. Please login to account management to link the account. + +confirmLinkIdpTitle=Account already exists +federatedIdentityConfirmLinkMessage=User with {0} {1} already exists. How do you want to continue? +federatedIdentityConfirmReauthenticateMessage=Authenticate to link your account with {0} +nestedFirstBrokerFlowMessage=The {0} user {1} is not linked to any known user. +confirmLinkIdpReviewProfile=Review profile +confirmLinkIdpContinue=Add to existing account + +configureTotpMessage=You need to set up Mobile Authenticator to activate your account. +updateProfileMessage=You need to update your user profile to activate your account. +updatePasswordMessage=You need to change your password to activate your account. +resetPasswordMessage=You need to change your password. +verifyEmailMessage=You need to verify your email address to activate your account. +linkIdpMessage=You need to verify your email address to link your account with {0}. + +emailSentMessage=You should receive an email shortly with further instructions. +emailSendErrorMessage=Failed to send email, please try again later. + +accountUpdatedMessage=Your account has been updated. +accountPasswordUpdatedMessage=Your password has been updated. + +delegationCompleteHeader=Login Successful +delegationCompleteMessage=You may close this browser window and go back to your console application. +delegationFailedHeader=Login Failed +delegationFailedMessage=You may close this browser window and go back to your console application and try logging in again. + +noAccessMessage=No access + +invalidPasswordMinLengthMessage=Invalid password: minimum length {0}. +invalidPasswordMinDigitsMessage=Invalid password: must contain at least {0} numerical digits. +invalidPasswordMinLowerCaseCharsMessage=Invalid password: must contain at least {0} lower case characters. +invalidPasswordMinUpperCaseCharsMessage=Invalid password: must contain at least {0} upper case characters. +invalidPasswordMinSpecialCharsMessage=Invalid password: must contain at least {0} special characters. +invalidPasswordNotUsernameMessage=Invalid password: must not be equal to the username. +invalidPasswordRegexPatternMessage=Invalid password: fails to match regex pattern(s). +invalidPasswordHistoryMessage=Invalid password: must not be equal to any of last {0} passwords. +invalidPasswordGenericMessage=Invalid password: new password doesn''t match password policies. + +failedToProcessResponseMessage=Failed to process response +httpsRequiredMessage=HTTPS required +realmNotEnabledMessage=Realm not enabled +invalidRequestMessage=Invalid Request +failedLogout=Logout failed +unknownLoginRequesterMessage=Unknown login requester +loginRequesterNotEnabledMessage=Login requester not enabled +bearerOnlyMessage=Bearer-only applications are not allowed to initiate browser login +standardFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Standard flow is disabled for the client. +implicitFlowDisabledMessage=Client is not allowed to initiate browser login with given response_type. Implicit flow is disabled for the client. +invalidRedirectUriMessage=Invalid redirect uri +unsupportedNameIdFormatMessage=Unsupported NameIDFormat +invalidRequesterMessage=Invalid requester +registrationNotAllowedMessage=Registration not allowed +resetCredentialNotAllowedMessage=Reset Credential not allowed + +permissionNotApprovedMessage=Permission not approved. +noRelayStateInResponseMessage=No relay state in response from identity provider. +insufficientPermissionMessage=Insufficient permissions to link identities. +couldNotProceedWithAuthenticationRequestMessage=Could not proceed with authentication request to identity provider. +couldNotObtainTokenMessage=Could not obtain token from identity provider. +unexpectedErrorRetrievingTokenMessage=Unexpected error when retrieving token from identity provider. +unexpectedErrorHandlingResponseMessage=Unexpected error when handling response from identity provider. +identityProviderAuthenticationFailedMessage=Authentication failed. Could not authenticate with identity provider. +couldNotSendAuthenticationRequestMessage=Could not send authentication request to identity provider. +unexpectedErrorHandlingRequestMessage=Unexpected error when handling authentication request to identity provider. +invalidAccessCodeMessage=Invalid access code. +sessionNotActiveMessage=Session not active. +invalidCodeMessage=An error occurred, please login again through your application. +identityProviderUnexpectedErrorMessage=Unexpected error when authenticating with identity provider +identityProviderNotFoundMessage=Could not find an identity provider with the identifier. +identityProviderLinkSuccess=You successfully verified your email. Please go back to your original browser and continue there with the login. +staleCodeMessage=This page is no longer valid, please go back to your application and log in again +realmSupportsNoCredentialsMessage=Realm does not support any credential type. +credentialSetupRequired=Cannot login, credential setup required. +identityProviderNotUniqueMessage=Realm supports multiple identity providers. Could not determine which identity provider should be used to authenticate with. +emailVerifiedMessage=Your email address has been verified. +staleEmailVerificationLink=The link you clicked is an old stale link and is no longer valid. Maybe you have already verified your email. +identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user. +confirmAccountLinking=Confirm linking the account {0} of identity provider {1} with your account. +confirmEmailAddressVerification=Confirm validity of e-mail address {0}. +confirmExecutionOfActions=Perform the following action(s) + +locale_ca=Catal\u00E0 +locale_de=Deutsch +locale_en=English +locale_es=Espa\u00F1ol +locale_fr=Fran\u00E7ais +locale_it=Italiano +locale_ja=\u65E5\u672C\u8A9E +locale_nl=Nederlands +locale_no=Norsk +locale_pl=Polish +locale_pt_BR=Portugu\u00EAs (Brasil) +locale_pt-BR=Portugu\u00EAs (Brasil) +locale_ru=\u0420\u0443\u0441\u0441\u043A\u0438\u0439 +locale_lt=Lietuvi\u0173 +locale_zh-CN=\u4E2D\u6587\u7B80\u4F53 +locale_sk=Sloven\u010Dina +locale_sv=Svenska + +backToApplication=« Back to Application +missingParameterMessage=Missing parameters\: {0} +clientNotFoundMessage=Client not found. +clientDisabledMessage=Client disabled. +invalidParameterMessage=Invalid parameter\: {0} +alreadyLoggedIn=You are already logged in. +differentUserAuthenticated=You are already authenticated as different user ''{0}'' in this session. Please log out first. +brokerLinkingSessionExpired=Requested broker account linking, but current session is no longer valid. +proceedWithAction=» Click here to proceed + +requiredAction.CONFIGURE_TOTP=Configure OTP +requiredAction.terms_and_conditions=Terms and Conditions +requiredAction.UPDATE_PASSWORD=Update Password +requiredAction.UPDATE_PROFILE=Update Profile +requiredAction.VERIFY_EMAIL=Verify Email + +doX509Login=You will be logged in as\: +clientCertificate=X509 client certificate\: +noCertificate=[No Certificate] + + +pageNotFound=Page not found +internalServerError=An internal server error has occurred + +console-username=Username: +console-password=Password: +console-otp=One Time Password: +console-new-password=New Password: +console-confirm-password=Confirm Password: +console-update-password=Update of your password is required. +console-verify-email=You need to verify your email address. We sent an email to {0} that contains a verification code. Please enter this code into the input below. +console-email-code=Email Code: +console-accept-terms=Accept Terms? [y/n]: +console-accept=y + +# Openshift messages +openshift.scope.user_info=User information +openshift.scope.user_check-access=User access information +openshift.scope.user_full=Full Access +openshift.scope.list-projects=List projects + +# SAML authentication +saml.post-form.title=Authentication Redirect +saml.post-form.message=Redirecting, please wait. +saml.post-form.js-disabled=JavaScript is disabled. We strongly recommend to enable it. Click the button below to continue. + +#authenticators +otp-display-name=Authenticator Application +otp-help-text=Enter a verification code from authenticator application. +password-display-name=Password +password-help-text=Log in by entering your password. +auth-username-form-display-name=Username +auth-username-form-help-text=Start log in by entering your username +auth-username-password-form-display-name=Username and password +auth-username-password-form-help-text=Log in by entering your username and password. + +# WebAuthn +webauthn-display-name=Security Key +webauthn-help-text=Use your security key to log in. +webauthn-passwordless-display-name=Security Key +webauthn-passwordless-help-text=Use your security key for passwordless log in. +webauthn-login-title=Security Key login +webauthn-registration-title=Security Key Registration +webauthn-available-authenticators=Available authenticators + +# WebAuthn Error +webauthn-error-title=Security Key Error +webauthn-error-registration=Failed to register your Security key. +webauthn-error-api-get=Failed to authenticate by the Security key. +webauthn-error-different-user=First authenticated user is not the one authenticated by the Security key. +webauthn-error-auth-verification=Security key authentication result is invalid. +webauthn-error-register-verification=Security key registration result is invalid. +webauthn-error-user-not-found=Unknown user authenticated by the Security key. + +identity-provider-redirector=Connect with another Identity Provider + diff --git a/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_fr.properties b/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_fr.properties new file mode 100644 index 0000000..ed5fa4e --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/messages/messages_fr.properties @@ -0,0 +1,286 @@ +doLogIn=Se connecter +doRegister=Cr\u00e9er un nouveau compte +doRegisterNow=Confirmer l''inscription +doCancel=Annuler +doSubmit=Soumettre +doYes=Oui +doNo=Non +doContinue=Continuer +doIgnore=Ignorer +doAccept=Accepter +doDecline=D\u00e9cliner +doForgotPassword=Mot de passe oubli\u00e9 ? +doClickHere=Cliquez ici +doImpersonate=Impersonate +kerberosNotConfigured=Kerberos non configur\u00e9 +kerberosNotConfiguredTitle=Kerberos non configur\u00e9 +bypassKerberosDetail=Si vous n''\u00eates pas connect\u00e9 via Kerberos ou bien que votre navigateur n''est pas configur\u00e9 pour la connexion via Kerberos. Veuillez cliquer pour vous connecter via un autre moyen. +kerberosNotSetUp=Kerberos n''est pas configur\u00e9. Connexion impossible. +registerTitle=Cr\u00e9er un nouveau compte +registerWithTitle=Enregistrement avec {0} +registerWithTitleHtml={0} +loginTitle=Se connecter \u00e0 {0} +loginTitleHtml={0} +impersonateTitle={0} utilisateur impersonate +impersonateTitleHtml={0} utilisateur impersonate +realmChoice=Domaine +unknownUser=Utilisateur inconnu +loginTotpTitle=Configuration de l''authentification par mobile +loginProfileTitle=Mise \u00e0 jour du compte +loginTimeout=Le temps imparti pour la connexion est \u00e9coul\u00e9. Le processus de connexion red\u00e9marre depuis le d\u00e9but. +oauthGrantTitle=OAuth Grant +oauthGrantTitleHtml={0} +errorTitle=Nous sommes d\u00e9sol\u00e9s... +errorTitleHtml=Nous sommes d\u00e9sol\u00e9s... +emailVerifyTitle=V\u00e9rification du courriel +emailForgotTitle=Mot de passe oubli\u00e9 ? +updatePasswordTitle=Mise \u00e0 jour du mot de passe +codeSuccessTitle=Code succ\u00e8s +codeErrorTitle=Code d''erreur \: {0} +displayUnsupported=Type d''affichage demand\u00e9 non support\u00e9 +browserRequired=Navigateur requis pour se connecter +browserContinue=Navigateur requis pour continuer la connexion +browserContinuePrompt=Ouvrir le navigateur et continuer la connexion? [y/n]: +browserContinueAnswer=y + +termsTitle=Termes et Conditions +termsTitleHtml=Termes et Conditions +termsText=

Termes et conditions \u00e0 d\u00e9finir

+termsPlainText=Termes et conditions \u00e0 d\u00e9finir + +recaptchaFailed=Re-captcha invalide +recaptchaNotConfigured=Re-captcha est requis, mais il n''est pas configur\u00e9 +consentDenied=Consentement refus\u00e9. + +noAccount=Vous venez d''arriver ? +username=Pseudo +usernameOrEmail=Pseudo ou courriel +firstName=Pr\u00e9nom +givenName=Pr\u00e9nom +fullName=Nom complet +lastName=Nom +familyName=Nom de famille +email=Courriel +password=Mot de passe +passwordConfirm=Confirmation du mot de passe +passwordNew=Nouveau mot de passe +passwordNewConfirm=Confirmation du nouveau mot de passe +rememberMe=Se souvenir de moi +authenticatorCode=Code \u00e0 usage unique +address=Adresse +street=Rue +locality=Ville ou Localit\u00e9 +region=\u00c9tat, Province ou R\u00e9gion +postal_code=Code postal +country=Pays +emailVerified=Courriel v\u00e9rifi\u00e9 +gssDelegationCredential=Accr\u00e9ditation de d\u00e9l\u00e9gation GSS + +usernamePlaceholder=CamilleLila +usernameHelper=C''est ainsi que les autres membres pourront vous identifier. Attention ce choix est d\u00e9finitif, il est recommand\u00e9 d''opter pour un pseudo sous la forme ''prenomnom''. +firstNamePlaceholder=Camille +lastNamePlaceholder=Lila +emailPlaceholder=c.lila@mail.com + +loginTotpIntro=Il est n\u00e9cessaire de configurer un g\u00e9n\u00e9rateur One Time Password pour acc\u00e9der \u00e0 ce compte +loginTotpStep1=Installez FreeOTP ou bien Google Authenticator sur votre mobile. Ces deux applications sont disponibles sur Google Play et Apple App Store. +loginTotpStep2=Ouvrez l''application et scannez le code-barres ou entrez la clef. +loginTotpStep3=Entrez le code \u00e0 usage unique fourni par l''application et cliquez sur Sauvegarder pour terminer. +loginTotpManualStep2=Ouvrez l''application et saisissez la cl\u00e9 +loginTotpManualStep3=Utilisez la configuration de valeur suivante si l''application permet son \u00e9dition +loginTotpUnableToScan=Impossible de scanner? +loginTotpScanBarcode=Scanner le code barre ? +loginOtpOneTime=Code \u00e0 usage unique +loginTotpType=Type +loginTotpAlgorithm=Algorithme +loginTotpDigits=Chiffres +loginTotpInterval=Intervalle +loginTotpCounter=Compteur + +loginTotp.totp=Bas\u00e9 sur le temps +loginTotp.hotp=Bas\u00e9 sur les compteurs + +oauthGrantRequest=Voulez-vous accorder ces privil\u00e8ges d''acc\u00e8s ? +inResource=dans + +emailVerifyInstruction1=Un courriel avec des instructions \u00e0 suivre vous a \u00e9t\u00e9 envoy\u00e9. +emailVerifyInstruction2=Vous n''avez pas re\u00e7u de code dans le courriel ? +emailVerifyInstruction3=pour renvoyer le courriel. + +emailLinkIdpTitle=Association avec {0} +emailLinkIdp1=Un courriel avec des instructions pour associer le compte {1} sur {0} avec votre compte {2} vous a \u00e9t\u00e9 envoy\u00e9. +emailLinkIdp2=Vous n''avez pas re\u00e7u de code dans le courriel ? +emailLinkIdp3=pour renvoyer le courriel. +emailLinkIdp4=Si vous avez d\u00e9j\u00e0 v\u00e9rifi\u00e9 votre courriel dans un autre navigateur +emailLinkIdp5=pour continuer. + +backToLogin=« Retour \u00e0 la connexion + +emailInstruction=Pas de panique. Entrez votre nom pseudo ou votre courriel ; un courriel va vous \u00eatre envoy\u00e9 pour cr\u00e9er un nouveau mot de passe. + +copyCodeInstruction=Copiez le code et recopiez le dans votre application : + +pageExpiredTitle=La page a expir\u00e9 +pageExpiredMsg1=Pour recommencer le processus d''authentification +pageExpiredMsg2=Pour continuer le processus d''authentification + +personalInfo=Information personnelle : +role_admin=Administrateur +role_realm-admin=Administrateur du domaine +role_create-realm=Cr\u00e9er un domaine +role_create-client=Cr\u00e9er un client +role_view-realm=Voir un domaine +role_view-users=Voir les utilisateurs +role_view-applications=Voir les applications +role_view-clients=Voir les clients +role_view-events=Voir les \u00e9v\u00e9nements +role_view-identity-providers=Voir les fournisseurs d''identit\u00e9 +role_manage-realm=G\u00e9rer le domaine +role_manage-users=G\u00e9rer les utilisateurs +role_manage-applications=G\u00e9rer les applications +role_manage-identity-providers=G\u00e9rer les fournisseurs d''identit\u00e9 +role_manage-clients=G\u00e9rer les clients +role_manage-events=G\u00e9rer les \u00e9v\u00e9nements +role_view-profile=Voir le profil +role_manage-account=G\u00e9rer le compte +role_manage-account-links=G\u00e9rer les liens de compte +role_read-token=Lire le jeton d''authentification +role_offline-access=Acc\u00e8s hors-ligne +client_account=Compte +client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9 +client_admin-cli=Admin CLI +client_realm-management=Gestion du domaine +client_broker=Broker + +invalidUserMessage=Pseudo ou mot de passe invalide. +invalidEmailMessage=Courriel invalide. +accountDisabledMessage=Compte d\u00e9sactiv\u00e9, contactez votre administrateur. +accountTemporarilyDisabledMessage=Ce compte est temporairement d\u00e9sactiv\u00e9, contactez votre administrateur ou bien r\u00e9essayez plus tard. +expiredCodeMessage=Connexion expir\u00e9e. Veuillez vous reconnecter. +expiredActionMessage=Action expir\u00e9e. Merci de continuer la connexion. +expiredActionTokenNoSessionMessage=Action expir\u00e9e. +expiredActionTokenSessionExistsMessage=Action expir\u00e9e. Merci de recommencer. + +missingFirstNameMessage=Veuillez entrer votre pr\u00e9nom. +missingLastNameMessage=Veuillez entrer votre nom. +missingEmailMessage=Veuillez entrer votre courriel. +missingUsernameMessage=Veuillez entrer votre pseudo. +missingPasswordMessage=Veuillez entrer votre mot de passe. +missingTotpMessage=Veuillez entrer votre code d''authentification. +notMatchPasswordMessage=Les mots de passe ne sont pas identiques. + +invalidPasswordExistingMessage=Mot de passe existant invalide. +invalidPasswordBlacklistedMessage=Mot de passe invalide : ce mot de passe est blacklist\u00e9. +invalidPasswordConfirmMessage=Le mot de passe de confirmation ne correspond pas. +invalidTotpMessage=Le code d''authentification est invalide. + +usernameExistsMessage=Ce pseudo existe d\u00e9j\u00e0. +emailExistsMessage=Ce courriel existe d\u00e9j\u00e0. + +federatedIdentityExistsMessage=L''utilisateur avec {0} {1} existe d\u00e9j\u00e0. Veuillez acc\u00e9der \u00e0 au gestionnaire de compte pour lier le compte. +federatedIdentityEmailExistsMessage=Cet utilisateur avec ce courriel existe d\u00e9j\u00e0. Veuillez vous connecter au gestionnaire de compte pour lier le compte. + +confirmLinkIdpTitle=Ce compte existe d\u00e9j\u00e0 +federatedIdentityConfirmLinkMessage=L''utilisateur {0} {1} existe d\u00e9j\u00e0. Que souhaitez-vous faire ? +federatedIdentityConfirmReauthenticateMessage=Identifiez vous afin de lier votre compte avec {0} +confirmLinkIdpReviewProfile=V\u00e9rifiez vos informations de profil +confirmLinkIdpContinue=Souhaitez-vous lier {0} \u00e0 votre compte existant + +configureTotpMessage=Vous devez configurer l''authentification par mobile pour activer votre compte. +updateProfileMessage=Vous devez mettre \u00e0 jour votre profil pour activer votre compte. +updatePasswordMessage=Vous devez changer votre mot de passe pour activer votre compte. +resetPasswordMessage=Vous devez changer votre mot de passe. +verifyEmailMessage=Vous devez v\u00e9rifier votre courriel pour activer votre compte. +linkIdpMessage=Vous devez v\u00e9rifier votre courriel pour lier votre compte avec {0}. + +emailSentMessage=Vous devriez recevoir rapidement un courriel avec de plus amples instructions. +emailSendErrorMessage=Erreur lors de l''envoi du courriel, veuillez essayer plus tard. + +accountUpdatedMessage=Votre compte a \u00e9t\u00e9 mis \u00e0 jour. +accountPasswordUpdatedMessage=Votre mot de passe a \u00e9t\u00e9 mis \u00e0 jour. + +noAccessMessage=Aucun acc\u00e8s + +invalidPasswordMinLengthMessage=Mot de passe invalide : longueur minimale requise de {0}. +invalidPasswordMinDigitsMessage=Mot de passe invalide : doit contenir au moins {0} chiffre(s). +invalidPasswordMinLowerCaseCharsMessage=Mot de passe invalide : doit contenir au moins {0} lettre(s) en minuscule. +invalidPasswordMinUpperCaseCharsMessage=Mot de passe invalide : doit contenir au moins {0} lettre(s) en majuscule. +invalidPasswordMinSpecialCharsMessage=Mot de passe invalide : doit contenir au moins {0} caract\u00e8re(s) sp\u00e9ciaux. +invalidPasswordNotUsernameMessage=Mot de passe invalide : ne doit pas \u00eatre identique au pseudo. +invalidPasswordRegexPatternMessage=Mot de passe invalide : ne valide pas l''expression rationnelle. +invalidPasswordHistoryMessage=Mot de passe invalide : ne doit pas \u00eatre \u00e9gal aux {0} derniers mots de passe. +invalidPasswordGenericMessage=Mot de passe invalide : le nouveau mot de passe ne r\u00e9pond pas \u00e0 la politique de mot de passe. + +failedToProcessResponseMessage=Erreur lors du traitement de la r\u00e9ponse +httpsRequiredMessage=Le protocole HTTPS est requis +realmNotEnabledMessage=Le domaine n''est pas activ\u00e9 +invalidRequestMessage=Requ\u00eate invalide +failedLogout=La d\u00e9connexion a \u00e9chou\u00e9e +unknownLoginRequesterMessage=Compte inconnu du demandeur +loginRequesterNotEnabledMessage=La connexion du demandeur n''est pas active +bearerOnlyMessage=Les applications Bearer-only ne sont pas autoris\u00e9es \u00e0 initier la connexion par navigateur. +standardFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux standard est d\u00e9sactiv\u00e9 pour le client. +implicitFlowDisabledMessage=Le client n''est pas autoris\u00e9 \u00e0 initier une connexion avec le navigateur avec ce response_type. Le flux implicite est d\u00e9sactiv\u00e9 pour le client. +invalidRedirectUriMessage=L''URI de redirection est invalide +unsupportedNameIdFormatMessage=NameIDFormat non support\u00e9 +invalidRequesterMessage=Demandeur invalide +registrationNotAllowedMessage=L''enregistrement n''est pas autoris\u00e9 +resetCredentialNotAllowedMessage=La remise \u00e0 z\u00e9ro n''est pas autoris\u00e9e + +permissionNotApprovedMessage=La permission n''est pas approuv\u00e9e. +noRelayStateInResponseMessage=Aucun \u00e9tat de relais dans la r\u00e9ponse du fournisseur d''identit\u00e9. +insufficientPermissionMessage=Permissions insuffisantes pour lier les identit\u00e9s. +couldNotProceedWithAuthenticationRequestMessage=Impossible de continuer avec la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. +couldNotObtainTokenMessage=Impossible de r\u00e9cup\u00e9rer le jeton du fournisseur d''identit\u00e9. +unexpectedErrorRetrievingTokenMessage=Erreur inattendue lors de la r\u00e9cup\u00e9ration du jeton provenant du fournisseur d''identit\u00e9. +unexpectedErrorHandlingResponseMessage=Erreur inattendue lors du traitement de la r\u00e9ponse provenant du fournisseur d''identit\u00e9. +identityProviderAuthenticationFailedMessage=L''authentification a \u00e9chou\u00e9e. Impossible de s''authentifier avec le fournisseur d''identit\u00e9. +couldNotSendAuthenticationRequestMessage=Impossible d''envoyer la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9. +unexpectedErrorHandlingRequestMessage=Erreur inattendue lors du traitement de la requ\u00eate vers le fournisseur d''identit\u00e9. +invalidAccessCodeMessage=Code d''acc\u00e8s invalide. +sessionNotActiveMessage=La session n''est pas active. +invalidCodeMessage=Une erreur est survenue, veuillez vous reconnecter \u00e0 votre application. +identityProviderUnexpectedErrorMessage=Erreur inattendue lors de l''authentification avec fournisseur d''identit\u00e9. +identityProviderNotFoundMessage=Impossible de trouver le fournisseur d''identit\u00e9 avec cet identifiant. +identityProviderLinkSuccess=Votre compte a \u00e9t\u00e9 correctement li\u00e9 avec {0} compte {1} . +staleCodeMessage=Cette page n''est plus valide, merci de retourner \u00e0 votre application et de vous connecter \u00e0 nouveau. +realmSupportsNoCredentialsMessage=Ce domaine ne supporte aucun type d''accr\u00e9ditation. +identityProviderNotUniqueMessage=Ce domaine autorise plusieurs fournisseurs d''identit\u00e9. Impossible de d\u00e9terminer le fournisseur d''identit\u00e9 avec lequel s''authentifier. +emailVerifiedMessage=Votre courriel a \u00e9t\u00e9 v\u00e9rifi\u00e9. + +staleEmailVerificationLink=Le lien que vous avez cliqu\u00e9 est p\u00e9rim\u00e9 et n''est plus valide. Peut-\u00eatre avez vous d\u00e9j\u00e0 v\u00e9rifi\u00e9 votre mot de passe ? +identityProviderAlreadyLinkedMessage=L''identit\u00e9 f\u00e9d\u00e9r\u00e9e retourn\u00e9e par {0} est d\u00e9j\u00e0 li\u00e9e \u00e0 un autre utilisateur. +confirmAccountLinking=Confirmez la liaison du compte {0} du fournisseur d''entit\u00e9 {1} avec votre compte. +confirmEmailAddressVerification=Confirmez la validit\u00e9 de l''adresse courriel {0}. +confirmExecutionOfActions=Suivez les instructions suivantes + + +backToApplication=« Revenir \u00e0 l''application +missingParameterMessage=Param\u00e8tres manquants \: {0} +clientNotFoundMessage=Client inconnu. +clientDisabledMessage=Client d\u00e9sactiv\u00e9. +invalidParameterMessage=Param\u00e8tre invalide \: {0} +alreadyLoggedIn=Vous \u00eates d\u00e9j\u00e0 connect\u00e9. + +differentUserAuthenticated=Vous \u00eates d\u00e9j\u00e0 authentifi\u00e9 avec un autre utilisateur ''{0}'' dans cette session. Merci de vous d\u00e9connecter. +proceedWithAction=» Cliquez ici + + +requiredAction.CONFIGURE_TOTP=Configurer OTP +requiredAction.terms_and_conditions=Termes et conditions +requiredAction.UPDATE_PASSWORD=Mettre \u00e0 jour votre mot de passe +requiredAction.UPDATE_PROFILE=Mettre \u00e0 jour votre profil +requiredAction.VERIFY_EMAIL=Valider votre adresse email + + +doX509Login=Vous allez \u00eatre connect\u00e9 en tant que\: +clientCertificate=X509 certificat client\: +noCertificate=[Pas de certificat] + +pageNotFound=Page non trouv\u00e9e +internalServerError=Une erreur interne du serveur s''est produite + +# SAML authentication +saml.post-form.title=Veuillez patienter... +saml.post-form.message=Nous vous redirigeons vers votre application. +saml.post-form.js-disabled=JavaScript est d\u00e9sactiv\u00e9. Nous vous recommandons vivement de l''activer. Cliquez sur le bouton ci-dessous pour continuer. diff --git a/custom.sample/keycloak/themes/liiibrelite/login/register.ftl b/custom.sample/keycloak/themes/liiibrelite/login/register.ftl new file mode 100644 index 0000000..b1fc41c --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/register.ftl @@ -0,0 +1,89 @@ +<#import "template.ftl" as layout> +<@layout.registrationLayout; section> + <#if section = "header"> + ${msg("registerTitle")} + <#elseif section = "form"> +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + <#if !realm.registrationEmailAsUsername> +
+
+ +
+
+ +
+
+

${msg("usernameHelper")}

+
+
+ + + <#if passwordRequired??> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + <#if recaptchaRequired??> +
+
+
+
+
+ + +
+ + +
+ +
+
+
+ + diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/css/style.css b/custom.sample/keycloak/themes/liiibrelite/login/resources/css/style.css new file mode 100644 index 0000000..3735287 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/resources/css/style.css @@ -0,0 +1,285 @@ +@font-face { + font-family: 'FengardoneueRegular'; + src: url('../fonts/Fengardoneue/fengardoneue_regular.eot'); /* IE9 Compat Modes */ + src: url('../fonts/Fengardoneue/fengardoneue_regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/Fengardoneue/fengardoneue_regular.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/Fengardoneue/fengardoneue_regular.woff') format('woff'), /* Pretty Modern Browsers */ + url('../fonts/Fengardoneue/fengardoneue_regular.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/Fengardoneue/fengardoneue_regular.svg#svgFontName') format('svg'); /* Legacy iOS */ +} + +@font-face { + font-family: 'FengardoneueBlack'; + src: url('../fonts/Fengardoneue/fengardoneue_black.eot'); /* IE9 Compat Modes */ + src: url('../fonts/Fengardoneue/fengardoneue_black.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('../fonts/Fengardoneue/fengardoneue_black.woff2') format('woff2'), /* Super Modern Browsers */ + url('../fonts/Fengardoneue/fengardoneue_black.woff') format('woff'), /* Pretty Modern Browsers */ + url('../fonts/Fengardoneue/fengardoneue_black.ttf') format('truetype'), /* Safari, Android, iOS */ + url('../fonts/Fengardoneue/fengardoneue_black.svg#svgFontName') format('svg'); /* Legacy iOS */ +} + +a { + color:#0db4c7; + text-decoration:none +} + +$a:focus, +a:hover { + color:#0ba9ba; + text-decoration:underline +} + +body { + font-family: 'FengardoneueRegular'; + font-size: 15px; +} + +.alert { + border-radius: 3px; +} + +.login-pf { + background: url("../img/loginBG.png"), url("../img/bg-texture-liiibre.png"), #fdfadb; + background-position: center center, left top; + background-size: 85%, 80%; + background-repeat: no-repeat, repeat; +} + +.login-pf body { + background: none; +} + +.card-pf { + border-radius: 1rem; + box-shadow: 0px 0px 0px 5px #fdfadb; +} + +#kc-header-wrapper { + color: #0db4c7; + font-family: 'FengardoneueBlack'; +} + +#kc-header-wrapper a:hover { + text-decoration: none; + color: #0ba9ba; +} + +#kc-info-wrapper { + font-size: 14px; +} + + +h1 { + font-family: 'FengardoneueBlack'; + color: rgba(0, 0, 0, 0.8); +} + +.form-control { + border: 2px solid #bbb; + border-top:none; + border-left: none; + border-right: none; + border-radius: 3px; + font-size: 14px; +} + +.form-control:focus { + border-color:#0db4c7; + outline:0; + box-shadow:inset 0px 0px 2px 0px #0db4c7 +} + +#kc-form-options .checkbox { + margin-top: 0; + color: #72767b; +} + +.btn { + font-size: 15px; +} + +.btn-primary { + background-color:#0db4c7; + border-color:#0db4c7; + color:#fff; + border-radius: 2px; + background-image: none; +} + +.btn-primary.active, +.btn-primary:active, +.btn-primary:focus, +.btn-primary:hover, +.open .dropdown-toggle.btn-primary { + background-color:#0ba9ba; + background-image:none; + border-color:#0995a5; + color:#fff +} + +.btn-primary.active.focus, +.btn-primary.active:focus, +.btn-primary.active:hover, +.btn-primary:active.focus, +.btn-primary:active:focus, +.btn-primary:active:hover, +.open .dropdown-toggle.btn-primary.focus, +.open .dropdown-toggle.btn-primary:focus, +.open .dropdown-toggle.btn-primary:hover { + background-color:#0995a5; + border-color:#0995a5; +} + +.btn-primary.disabled, +.btn-primary.disabled.active, +.btn-primary.disabled:active, +.btn-primary.disabled:focus, +.btn-primary.disabled:hover, +.btn-primary[disabled], +.btn-primary[disabled].active, +.btn-primary[disabled]:active, +.btn-primary[disabled]:focus, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-primary.active, +fieldset[disabled] .btn-primary:active, +fieldset[disabled] .btn-primary:focus, +fieldset[disabled] .btn-primary:hover { + background-color:#0ed7ee; + border-color:#0ed7ee +} + +#kc-locale ul { + border:none; +} + +#kc-locale ul li a { + border-bottom: solid 1px #bbb; + border-radius: 3px; +} + +#kc-locale ul li a:hover { + color: #fff !important; + background-color: #0db4c7; +} + +body { + font-family: 'Montserrat', sans-serif; + color: #343a40; +} + +.login-pf-page .login-pf-header h1 { + font-family: 'Montserrat', sans-serif; + font-weight: 600; +} + +.login-pf body { + background: linear-gradient(rgba(255,255,255,.4),rgba(255,255,255,.4)),url(../img/loginBG.png); +} + +#kc-header-wrapper .title_html { + display: none; +} + +.login-pf-page .card-pf { + position: relative; + display: flex; + flex-direction: column; + min-width: 450px; + word-wrap: break-word; + background-color: #fff; + background-clip: border-box; + border: 1px solid rgba(0,0,0,.125); + border-radius: 0; + box-shadow: none; +} + +.form-control { + border-radius: 0; + border: 1px solid #ced4da; +} + +.form-control:hover { + border-color: #D5045C; +} + +.form-control:focus { + border-color: #D5045C; + outline: 0; + box-shadow: inset 0px 0px 2px 0px #D5045C; +} + +.btn-primary { + background-color: #D5045C; + border-color: #D5045C; + color: #fff; + border-radius: 2px; + background-image: none; +} + +.btn-primary.active, .btn-primary:active, .btn-primary:focus, .btn-primary:hover, .open .dropdown-toggle.btn-primary { + background-color: #a70b4c; + background-image: none; + border-color: #a70b4c; + color: #fff; +} + +.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open .dropdown-toggle.btn-primary.focus, .open .dropdown-toggle.btn-primary:focus, .open .dropdown-toggle.btn-primary:hover { + background-color: #a70b4c; + border-color: #a70b4c; +} + +.login-pf-page { + padding-top: 0; + display: flex; + flex-direction: column; + height: 100%; + justify-content: space-between; +} + +#kc-header { + color: #343a40; + margin: 0; + background-color: white; + position: relative; + top: 0; + height: 74px; + max-height: 74px; + border-bottom: 1px solid #262626; + display: flex; + align-items: center; + justify-content: center; +} + +#kc-header-wrapper { + padding: 0; + height: 100%; + display: flex; + align-items: center; +} + + +#kc-header-wrapper img { + height: 60px; + width: inherit !important; +} + +footer#page-footer { + background-color: white!important; + height: 64px; + border-top: 1px solid #262626; + display: flex; + align-items: center; +} + +footer#page-footer .container2 { + width: 100%; + display: flex; + align-items: center; + justify-content: center; + color: #343a40; +} + +footer#page-footer .container2 a { + color: #343a40; +} \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.eot b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.eot new file mode 100755 index 0000000..8f3b88e Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.eot differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.svg b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.svg new file mode 100755 index 0000000..eba104a --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.svg @@ -0,0 +1,247 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Font designed by Loic Sander 2012 Distributed under the terms of the SIL OFL Licence Free for commercial use This font file can me modified at will under the conditions that any modification made is mentionned and clearly stated in the filename or accompanying info in case of further distribution +Designer : Loic Sander +Foundry : Loic Sander + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.ttf b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.ttf new file mode 100755 index 0000000..e6cbb23 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.ttf differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff new file mode 100755 index 0000000..d93a91a Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff2 b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff2 new file mode 100644 index 0000000..8a73c5a Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_black.woff2 differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.eot b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.eot new file mode 100755 index 0000000..a0aa603 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.eot differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.svg b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.svg new file mode 100755 index 0000000..ae1157e --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.svg @@ -0,0 +1,247 @@ + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Font designed by Loic Sander 2012 Distributed under the terms of the SIL OFL Licence Free for commercial use This font file can me modified at will under the conditions that any modification made is identified as a modifed version and the author named in the filename or accompanying info No modified version can be distributed without notice that it isnt the original file +Designer : Loic Sander +Foundry : Loic Sander + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.ttf b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.ttf new file mode 100755 index 0000000..a756055 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.ttf differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff new file mode 100755 index 0000000..5147f1e Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff2 b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff2 new file mode 100644 index 0000000..1120c42 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/fonts/Fengardoneue/fengardoneue_regular.woff2 differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-192x192.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-192x192.png new file mode 100755 index 0000000..d1b1164 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-192x192.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-512x512.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-512x512.png new file mode 100755 index 0000000..25f4276 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/android-chrome-512x512.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/apple-touch-icon.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/apple-touch-icon.png new file mode 100755 index 0000000..660ea82 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/apple-touch-icon.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre.png new file mode 100644 index 0000000..9e769f3 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre2.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre2.png new file mode 100644 index 0000000..9e769f3 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/bg-texture-liiibre2.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-16x16.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-16x16.png new file mode 100755 index 0000000..34d0ee3 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-16x16.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-32x32.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-32x32.png new file mode 100755 index 0000000..0b1b5f2 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon-32x32.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon.ico b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon.ico new file mode 100755 index 0000000..ea39e94 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/favicon.ico differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/liiibreLogo.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/liiibreLogo.png new file mode 100644 index 0000000..04659ad Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/liiibreLogo.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG.png new file mode 100644 index 0000000..601ef82 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG2.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG2.png new file mode 100644 index 0000000..3ac8c20 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/loginBG2.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/resources/img/logo.png b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/logo.png new file mode 100644 index 0000000..601ef82 Binary files /dev/null and b/custom.sample/keycloak/themes/liiibrelite/login/resources/img/logo.png differ diff --git a/custom.sample/keycloak/themes/liiibrelite/login/template.ftl b/custom.sample/keycloak/themes/liiibrelite/login/template.ftl new file mode 100644 index 0000000..6692169 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/template.ftl @@ -0,0 +1,162 @@ +<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true displayRequiredFields=false displayWide=false showAnotherWayIfPresent=true> + + + + + + + + + <#if properties.meta?has_content> + <#list properties.meta?split(' ') as meta> + + + + ${msg("loginTitle",(realm.displayName!''))} + + <#if properties.styles?has_content> + <#list properties.styles?split(' ') as style> + + + + <#if properties.scripts?has_content> + <#list properties.scripts?split(' ') as script> + + + + <#if scripts??> + <#list scripts as script> + + + + + + + +
+
+ +
+
+
+ <#if realm.internationalizationEnabled && locale.supported?size gt 1> +
+
+
+ ${locale.current} +
    + <#list locale.supported as l> +
  • ${l.label}
  • + +
+
+
+
+ + <#if !(auth?has_content && auth.showUsername() && !auth.showResetCredentials())> + <#if displayRequiredFields> +
+
+ * ${msg("requiredFields")} +
+
+

<#nested "header">

+
+
+ <#else> +

<#nested "header">

+ + <#else> + <#if displayRequiredFields> +
+
+ * ${msg("requiredFields")} +
+
+ <#nested "show-username"> +
+
+ + + + +
+
+
+
+ <#else> + <#nested "show-username"> +
+
+ + + + +
+
+ + +
+
+
+ + <#-- App-initiated actions should not see warning messages about the need to complete the action --> + <#-- during login. --> + <#if displayMessage && message?has_content && (message.type != 'warning' || !isAppInitiatedAction??)> +
+ <#if message.type = 'success'> + <#if message.type = 'warning'> + <#if message.type = 'error'> + <#if message.type = 'info'> + +
+ + + <#nested "form"> + + <#if auth?has_content && auth.showTryAnotherWayLink() && showAnotherWayIfPresent> +
class="${properties.kcContentWrapperClass!}"> +
class="${properties.kcFormSocialAccountContentClass!} ${properties.kcFormSocialAccountClass!}"> + +
+
+ + + <#if displayInfo> +
+
+ <#nested "info"> +
+
+ +
+
+ +
+ +
+ + + diff --git a/custom.sample/keycloak/themes/liiibrelite/login/theme.properties b/custom.sample/keycloak/themes/liiibrelite/login/theme.properties new file mode 100644 index 0000000..26de005 --- /dev/null +++ b/custom.sample/keycloak/themes/liiibrelite/login/theme.properties @@ -0,0 +1,6 @@ +parent=keycloak +import=common/keycloak +locales=en,fr +styles=node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/zocial/zocial.css css/login.css css/style.css + +meta=viewport==width=device-width,initial-scale=1 \ No newline at end of file diff --git a/custom.sample/preseed/groups.yml b/custom.sample/preseed/groups.yml deleted file mode 100644 index e69de29..0000000 diff --git a/custom.sample/preseed/labels.yml b/custom.sample/preseed/labels.yml deleted file mode 100644 index e69de29..0000000 diff --git a/custom.sample/preseed/roles.yml b/custom.sample/preseed/roles.yml deleted file mode 100644 index e69de29..0000000 diff --git a/custom.sample/preseed/users.yml b/custom.sample/preseed/users.yml deleted file mode 100644 index e69de29..0000000 diff --git a/digitaldemocratic.conf.sample b/digitaldemocratic.conf.sample index fe104a4..6d2dcb8 100644 --- a/digitaldemocratic.conf.sample +++ b/digitaldemocratic.conf.sample @@ -28,7 +28,8 @@ ADMINAPP_PASSWORD=Sup3rS3cret ### KEYCLOAK (sso) ########################################################################### -KEYCLOAK_USER=admin ## DO NOT CHANGE. It is not being modified at container start +## DO NOT CHANGE. It is not being modified at container start +KEYCLOAK_USER=admin KEYCLOAK_PASSWORD=keycloakkeycloak KEYCLOAK_DB_ADDR=isard-apps-postgresql @@ -83,4 +84,4 @@ WORDPRESS_ADMIN_PASSWORD=W0rdpr3ss ### FREEIPA (ipa) ########################################################################### -IPA_ADMIN_PWD=freeipafreeipa \ No newline at end of file +IPA_ADMIN_PWD=freeipafreeipa diff --git a/isard-sso b/isard-sso index a6826ec..7787a93 160000 --- a/isard-sso +++ b/isard-sso @@ -1 +1 @@ -Subproject commit a6826ec8c3b759ab0117629224d68d260854a98c +Subproject commit 7787a93a7338eb6c0dc915e93d82d54c045db941