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}} | +
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.
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.
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> +@layout.registrationLayout> 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 @@ + + + \ 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 @@ + + + \ 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> + + #list> + #if> +