diff --git a/logos/hellug_auth_logo.png b/logos/hellug_auth_logo.png new file mode 100644 index 0000000..93d38e3 Binary files /dev/null and b/logos/hellug_auth_logo.png differ diff --git a/logos/hellug_auth_logo.xcf b/logos/hellug_auth_logo.xcf new file mode 100644 index 0000000..65541da Binary files /dev/null and b/logos/hellug_auth_logo.xcf differ diff --git a/themes/hellug-keycloak/account/messages/messages_en.properties b/themes/hellug-keycloak/account/messages/messages_en.properties new file mode 100644 index 0000000..77831f7 --- /dev/null +++ b/themes/hellug-keycloak/account/messages/messages_en.properties @@ -0,0 +1 @@ +accountManagementTitle=Hellug Auth Account Management diff --git a/themes/hellug-keycloak/account/resources/css/account.css b/themes/hellug-keycloak/account/resources/css/account.css new file mode 100644 index 0000000..56a0378 --- /dev/null +++ b/themes/hellug-keycloak/account/resources/css/account.css @@ -0,0 +1,279 @@ +html { + height: 100%; +} + +body { + background-color: #F9F9F9; + margin: 0; + padding: 0; + height: 100%; +} + +header .navbar { + margin-bottom: 0; + min-height: inherit; +} + +.header .container { + position: relative; +} + +.navbar-title { + background-image: url('../img/brand.svg'); + height: 25px; + background-repeat: no-repeat; + width: 172px; + margin: 3px 10px 5px; + text-indent: -99999px; + position: relative; + top: 8px; +} + +.navbar-pf .navbar-utility { + right: 20px; + top: -34px; + font-size: 12px; +} + +.navbar-pf .navbar-utility > li > a { + color: #fff !important; + padding-bottom: 12px; + padding-top: 11px; + border-left: medium none; +} + +.container { + height: 100%; +} + +.content-area { + background-color: #fff; + border-color: #CECECE; + border-style: solid; + border-width: 0 1px; + height: 100%; + padding: 0 30px; +} + +.margin-bottom { + margin-bottom: 10px; +} + +/* Sidebar */ + +.bs-sidebar { + background-color: #f9f9f9; + padding-top: 44px; + padding-right: 0; + padding-left: 0; + z-index: 20; +} +.bs-sidebar ul { + list-style: none; + padding-left: 12px; +} + +.bs-sidebar ul li { + margin-bottom: 0.5em; + margin-left: -1em; +} +.bs-sidebar ul li a { + font-size: 14px; + padding-left: 25px; + color: #4d5258; + line-height: 28px; + display: block; + border-width: 1px 0 1px 1px; + border-style: solid; + border-color: #f9f9f9; +} +.bs-sidebar ul li a:hover, +.bs-sidebar ul li a:focus { + text-decoration: none; + color: #777777; + border-right: 2px solid #aaa; +} +.bs-sidebar ul li.active a { + background-color: #c7e5f0; + border-color: #56bae0; + font-weight: bold; + background-image: url(../img/icon-sidebar-active.png); + background-repeat: no-repeat; + background-position: right center; +} + +.bs-sidebar ul li.active a:hover { + border-right: none; +} + + +.content-area h2 { + font-family: "Open Sans", sans-serif; + font-weight: 100; + font-size: 24px; + margin-bottom: 25px; + margin-top: 25px; +} + +.subtitle { + text-align: right; + margin-top: 30px; + color: #909090; +} + +.required { + color: #CB2915; +} + + +.alert { + margin-top: 30px; + margin-bottom: 0; +} + +.feedback-aligner .alert { + background-position: 1.27273em center; + background-repeat: no-repeat; + border-radius: 2px; + border-width: 1px; + color: #4D5258; + display: inline-block; + font-size: 1.1em; + line-height: 1.4em; + margin: 0; + padding: 0.909091em 3.63636em; + position: relative; + text-align: left; +} +.alert.alert-success { + background-color: #E4F1E1; + border-color: #4B9E39; +} +.alert.alert-error { + background-color: #F8E7E7; + border-color: #B91415; +} +.alert.alert-warning { + background-color: #FEF1E9; + border-color: #F17528; +} +.alert.alert-info { + background-color: #E4F3FA; + border-color: #5994B2; +} + +.form-horizontal { + border-top: 1px solid #E9E8E8; + padding-top: 23px; +} + +.form-horizontal .control-label { + color: #909090; + line-height: 1.4em; + padding-top: 5px; + position: relative; + text-align: right; + width: 100%; +} + +.form-group { + position: relative; +} + +.control-label + .required { + position: absolute; + right: -2px; + top: 0; +} + +#kc-form-buttons { + text-align: right; + margin-top: 10px; +} + +#kc-form-buttons .btn-primary { + float: right; + margin-left: 8px; +} + +/* Authenticator page */ + +ol { + padding-left: 40px; +} + +ol li { + font-size: 13px; + margin-bottom: 10px; + position: relative; +} + +ol li img { + margin-top: 15px; + margin-bottom: 5px; + border: 1px solid #eee; +} + +hr + .form-horizontal { + border: none; + padding-top: 0; +} + +.kc-dropdown{ + position: relative; +} +.kc-dropdown > a{ + display:block; + padding: 11px 10px 12px; + line-height: 12px; + font-size: 12px; + color: #fff !important; + text-decoration: none; +} +.kc-dropdown > a::after{ + content: "\2c5"; + margin-left: 4px; +} +.kc-dropdown:hover > a{ + background-color: rgba(0,0,0,0.2); +} +.kc-dropdown ul li a{ + padding: 1px 11px; + font-size: 12px; + color: #000 !important; + border: 1px solid #fff; + text-decoration: none; + display:block; + line-height: 20px; +} +.kc-dropdown ul li a:hover{ + color: #4d5258; + background-color: #d4edfa; + border-color: #b3d3e7; +} +.kc-dropdown ul{ + position: absolute; + z-index: 2000; + list-style:none; + display:none; + padding: 5px 0px; + margin: 0px; + background-color: #fff !important; + border: 1px solid #b6b6b6; + border-radius: 1px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; + min-width: 100px; +} +.kc-dropdown:hover ul{ + display:block; +} + + +#kc-totp-secret-key { + border: 1px solid #eee; + font-size: 16px; + padding: 10px; + margin: 50px 0; +} diff --git a/themes/hellug-keycloak/account/resources/img/icon-sidebar-active.png b/themes/hellug-keycloak/account/resources/img/icon-sidebar-active.png new file mode 100644 index 0000000..e7b9b08 Binary files /dev/null and b/themes/hellug-keycloak/account/resources/img/icon-sidebar-active.png differ diff --git a/themes/hellug-keycloak/account/theme.properties b/themes/hellug-keycloak/account/theme.properties new file mode 100644 index 0000000..89a19bc --- /dev/null +++ b/themes/hellug-keycloak/account/theme.properties @@ -0,0 +1,3 @@ +parent=keycloak + +styles=css/account.css diff --git a/themes/hellug-keycloak/common/resources/img/brand.svg b/themes/hellug-keycloak/common/resources/img/brand.svg new file mode 100644 index 0000000..d82264a --- /dev/null +++ b/themes/hellug-keycloak/common/resources/img/brand.svg @@ -0,0 +1,85 @@ + + + + diff --git a/themes/hellug-keycloak/common/resources/img/favicon.ico b/themes/hellug-keycloak/common/resources/img/favicon.ico new file mode 100644 index 0000000..d21bcf3 Binary files /dev/null and b/themes/hellug-keycloak/common/resources/img/favicon.ico differ diff --git a/themes/hellug-keycloak/email/messages/messages_en.properties b/themes/hellug-keycloak/email/messages/messages_en.properties new file mode 100755 index 0000000..ad6b61f --- /dev/null +++ b/themes/hellug-keycloak/email/messages/messages_en.properties @@ -0,0 +1,55 @@ +emailVerificationSubject=Verify email +emailVerificationBody=Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address\n\n{0}\n\nThis link will expire within {3}.\n\nIf you didn''t create this account, just ignore this message. +emailVerificationBodyHtml=
Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address
Link to e-mail address verification
This link will expire within {3}.
If you didn''t create this account, just ignore this message.
+emailUpdateConfirmationSubject=Verify new email +emailUpdateConfirmationBody=To update your {2} account with email address {1}, click the link below\n\n{0}\n\nThis link will expire within {3}.\n\nIf you don''t want to proceed with this modification, just ignore this message. +emailUpdateConfirmationBodyHtml=To update your {2} account with email address {1}, click the link below
This link will expire within {3}.
If you don''t want to proceed with this modification, just ignore this message.
+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 password +passwordResetBody=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.\n\n{0}\n\nThis link and code will expire within {3}.\n\nIf you don''t want to reset your credentials, just ignore this message and nothing will be changed. +passwordResetBodyHtml=Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.
This link will expire within {3}.
If you don''t want to reset your credentials, just ignore this message and nothing will be changed.
+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 +requiredAction.CONFIGURE_RECOVERY_AUTHN_CODES=Generate Recovery Codes + +# 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/themes/hellug-keycloak/email/theme.properties b/themes/hellug-keycloak/email/theme.properties new file mode 100644 index 0000000..f1dbb72 --- /dev/null +++ b/themes/hellug-keycloak/email/theme.properties @@ -0,0 +1 @@ +parent=base \ No newline at end of file diff --git a/themes/hellug-keycloak/login/resources/css/login-hellug.css b/themes/hellug-keycloak/login/resources/css/login-hellug.css new file mode 100644 index 0000000..3668b1b --- /dev/null +++ b/themes/hellug-keycloak/login/resources/css/login-hellug.css @@ -0,0 +1,21 @@ +.login-pf body { + background: url("../node_modules/rcue/dist/img/bg-login.png") no-repeat left top fixed; + background-size: auto; + height: 100%; +} + +@media (max-width: 767px) { + .login-pf body { + background: white; + } +} + +@media (min-width: 767px) { + .login-pf { + background-attachment: fixed; + } +} +#kc-header-wrapper sup { + font-size: 35%; + top: -1.4em; +} diff --git a/themes/hellug-keycloak/login/resources/img/feedback-error-arrow-down.png b/themes/hellug-keycloak/login/resources/img/feedback-error-arrow-down.png new file mode 100644 index 0000000..6f2d9d2 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-error-arrow-down.png differ diff --git a/themes/hellug-keycloak/login/resources/img/feedback-error-sign.png b/themes/hellug-keycloak/login/resources/img/feedback-error-sign.png new file mode 100644 index 0000000..0dd5004 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-error-sign.png differ diff --git a/themes/hellug-keycloak/login/resources/img/feedback-success-arrow-down.png b/themes/hellug-keycloak/login/resources/img/feedback-success-arrow-down.png new file mode 100644 index 0000000..03cc0c4 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-success-arrow-down.png differ diff --git a/themes/hellug-keycloak/login/resources/img/feedback-success-sign.png b/themes/hellug-keycloak/login/resources/img/feedback-success-sign.png new file mode 100644 index 0000000..640bd71 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-success-sign.png differ diff --git a/themes/hellug-keycloak/login/resources/img/feedback-warning-arrow-down.png b/themes/hellug-keycloak/login/resources/img/feedback-warning-arrow-down.png new file mode 100644 index 0000000..6f2d9d2 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-warning-arrow-down.png differ diff --git a/themes/hellug-keycloak/login/resources/img/feedback-warning-sign.png b/themes/hellug-keycloak/login/resources/img/feedback-warning-sign.png new file mode 100644 index 0000000..f9392a3 Binary files /dev/null and b/themes/hellug-keycloak/login/resources/img/feedback-warning-sign.png differ diff --git a/themes/hellug-keycloak/login/theme.properties b/themes/hellug-keycloak/login/theme.properties new file mode 100644 index 0000000..3e0486b --- /dev/null +++ b/themes/hellug-keycloak/login/theme.properties @@ -0,0 +1,4 @@ +parent=keycloak + +styles=css/login.css css/tile.css css/login-hellug.css +stylesCommon=web_modules/@patternfly/react-core/dist/styles/base.css web_modules/@patternfly/react-core/dist/styles/app.css node_modules/patternfly/dist/css/patternfly.min.css node_modules/patternfly/dist/css/patternfly-additions.min.css lib/pficon/pficon.css diff --git a/themes/hellug-keycloak/welcome/resources/bg-login.png b/themes/hellug-keycloak/welcome/resources/bg-login.png new file mode 100644 index 0000000..c408a65 Binary files /dev/null and b/themes/hellug-keycloak/welcome/resources/bg-login.png differ diff --git a/themes/hellug-keycloak/welcome/resources/bg.png b/themes/hellug-keycloak/welcome/resources/bg.png new file mode 100644 index 0000000..531d563 Binary files /dev/null and b/themes/hellug-keycloak/welcome/resources/bg.png differ diff --git a/themes/hellug-keycloak/welcome/resources/css/welcome-hellug.css b/themes/hellug-keycloak/welcome/resources/css/welcome-hellug.css new file mode 100644 index 0000000..68e903c --- /dev/null +++ b/themes/hellug-keycloak/welcome/resources/css/welcome-hellug.css @@ -0,0 +1,12 @@ +body { + background-image: url(../bg.png),url(../bg-login.png); + background-repeat: no-repeat,no-repeat; + background-position: right bottom, left top; + background-size: auto, auto; + background-color: #1a1a1a; + height: 100%; +} + +.welcome-header { + color: #fff; +} diff --git a/themes/hellug-keycloak/welcome/resources/logo.png b/themes/hellug-keycloak/welcome/resources/logo.png new file mode 100644 index 0000000..93d38e3 Binary files /dev/null and b/themes/hellug-keycloak/welcome/resources/logo.png differ diff --git a/themes/hellug-keycloak/welcome/theme.properties b/themes/hellug-keycloak/welcome/theme.properties new file mode 100644 index 0000000..bc3dc15 --- /dev/null +++ b/themes/hellug-keycloak/welcome/theme.properties @@ -0,0 +1,6 @@ +parent=keycloak + +styles=css/welcome.css css/welcome-hellug.css + +documentationUrl=https://wiki.hellug.gr/index.php?title=%CE%A5%CF%80%CE%B7%CF%81%CE%B5%CF%83%CE%AF%CE%B1_Hellug_Auth +displayCommunityLinks=false