Compare commits

...

35 Commits

Author SHA1 Message Date
rra
d7d39e85ac remove d15 references for now
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-29 11:03:58 +00:00
3wc
1e924472bb Update to newer Keycloak base template
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
productNameFull → productName
2023-03-06 09:43:02 -05:00
3f10bd7a95 fix: new themes path
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-13 09:47:19 +01:00
10581b44b1 Unrecommended style changes
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-04 11:03:05 +01:00
add791e087 absolutely butchering this css to fix the T&Cs login
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-04 10:59:31 +01:00
7f22479d29 change text color on button
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2022-03-03 16:06:36 +01:00
ec69c49371 fix: submit button on forgot password
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-25 16:10:52 +01:00
f526c20e78 add hover styling to login button
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-21 16:09:22 +05:00
85d715ad00 Merge branch 'main' of ssh://git.autonomic.zone:2222/ruangrupa/login.lumbung.space
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-20 18:17:58 +05:00
ac2a6c1753 make login form responsive 2022-01-20 18:17:54 +05:00
eb9fafdc96 padding for terms form (again)
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-17 21:32:14 +01:00
82df4ba11d terms padding
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-17 21:27:41 +01:00
7cd9da93aa fix typo
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 13:53:23 +05:00
2aaef7bab0 more top margin
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 08:31:01 +01:00
9fe94e6ce7 Added logo and fonts.
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-13 08:23:50 +01:00
f943915553 Fixing more nitty gritty stuff.
All that's left is the font switch and the logo.
2022-01-13 08:23:50 +01:00
9feb042414 Styling for login page
1. Color override
2. Borders override

Still to complete: button and font. Sign in to alignment. Lumbung.Space
logo.
2022-01-13 08:23:50 +01:00
65d61005c4 drop that from here
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 17:30:20 +01:00
d33ba9590f omfg typos
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:51:42 +01:00
1a21f4c1ab fix html
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:46:06 +01:00
1c01bfd00f unbork that entire unbork attempt
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:43:17 +01:00
f89f7be21c unbork my unborking of html input for email link
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:39:15 +01:00
b084b18e5a unbork the borked html
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:31:57 +01:00
5ad9090417 hijack this message to link to members
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:24:35 +01:00
51fb2029f0 fix: no html allowed here either, idk
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 16:15:42 +01:00
fccad406d3 fix: html hacking to get a clickable link 2022-01-11 16:06:14 +01:00
1f4fec6aa3 fix: formatting, wording 2022-01-11 15:55:54 +01:00
854ec97956 fix: no html here, idk 2022-01-11 15:55:15 +01:00
e49ee45709 feat: verify email flow
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 15:51:35 +01:00
b736318908 feat: t&cs
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-11 14:32:07 +01:00
b595726742 feat: more helpful verify mail message 2022-01-11 14:23:41 +01:00
rra
fed3f486aa style OTP config
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2021-09-20 17:51:30 +02:00
rra
15d0773bce remove kc-wrapper in OTP fields 2021-09-20 17:51:13 +02:00
rra
037aaf63eb fix update pass and update profile by removing more kc-wrapper layers
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2021-06-17 11:40:08 +02:00
rra
57eeabe134 rm the backupfile 2021-06-16 18:11:32 +02:00
36 changed files with 379 additions and 246 deletions

View File

@ -8,7 +8,7 @@ steps:
host: lumbung.space
service: login_lumbung_space_app
source: lumbung.space
dest: /opt/jboss/keycloak/themes
dest: /opt/keycloak/themes
deploy_key:
from_secret: drone_ssh_lumbung.space
trigger:

View File

@ -19,11 +19,11 @@
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<!DOCTYPE html>
<html>
<head>
<title>Welcome to ${productNameFull}</title>
<title>Welcome to ${productName}</title>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@ -49,9 +49,10 @@
<div class="col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2">
<div class="welcome-header">
<img src="${resourcesPath}/logo.png" alt="${productName}" border="0" />
<h1>Welcome to <strong>${productNameFull}</strong></h1>
<h1>Welcome to <strong>${productName}</strong></h1>
</div>
<div class="row">
<#if adminConsoleEnabled>
<div class="col-xs-12 col-sm-4">
<div class="card-pf h-l">
<#if successMessage?has_content>
@ -60,15 +61,15 @@
<p class="alert error">${errorMessage}</p>
<h3><img src="welcome-content/user.png">Administration Console</h3>
<#elseif bootstrap>
<#if localUser>
<h3><img src="welcome-content/user.png">Administration Console</h3>
<p>Please create an initial admin user to get started.</p>
<#else>
<p class="welcome-message">
<img src="welcome-content/alert.png">You need local access to create the initial admin user. <br><br>Open <a href="http://localhost:8080/auth">http://localhost:8080/auth</a>
<br>or use the add-user-keycloak script.
</p>
</#if>
<#if localUser>
<h3><img src="welcome-content/user.png">Administration Console</h3>
<p>Please create an initial admin user to get started.</p>
<#else>
<p class="welcome-message">
<img src="welcome-content/alert.png">You need local access to create the initial admin user. <br><br>Open <a href="${localAdminUrl}">${localAdminUrl}</a>
<br>${adminUserCreationMessage}.
</p>
</#if>
</#if>
<#if bootstrap && localUser>
@ -93,14 +94,16 @@
<button id="create-button" type="submit" class="btn btn-primary">Create</button>
</form>
</#if>
<div class="welcome-primary-link">
<h3><a href="${adminUrl}"><img src="welcome-content/user.png">Administration Console <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
<div class="description">
Centrally manage all aspects of the ${productNameFull} server
Centrally manage all aspects of the ${productName} server
</div>
</div>
</div>
</div>
</#if> <#-- adminConsoleEnabled -->
<div class="col-xs-12 col-sm-4">
<div class="card-pf h-l">
<h3><a href="${properties.documentationUrl}"><img class="doc-img" src="welcome-content/admin-console.png">Documentation <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
@ -120,18 +123,14 @@
<h3><a href="https://groups.google.com/forum/#!forum/keycloak-user"><img src="welcome-content/mail.png">Mailing List <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
</div>
<div class="card-pf h-m">
<h3><a href="https://issues.jboss.org/browse/KEYCLOAK"><img src="welcome-content/bug.png">Report an issue <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
<h3><a href="https://github.com/keycloak/keycloak/issues"><img src="welcome-content/bug.png">Report an issue <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
</div>
</#if>
</div>
</div>
<div class='footer'>
<#if properties.displayCommunityLinks = "true">
<a href="http://www.jboss.org"><img src="welcome-content/jboss_community.png" alt="JBoss and JBoss Community"></a>
</#if>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("emailTestBodyHtml",realmName))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("emailVerificationBodyCodeHtml",code))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("emailVerificationBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("eventLoginErrorBodyHtml",event.date,event.ipAddress))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("eventUpdatePasswordBodyHtml",event.date, event.ipAddress))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress))?no_esc}
</body>
</html>

View File

@ -0,0 +1,9 @@
<#outputformat "plainText">
<#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, </#sep></#items></#list></#if></#assign>
</#outputformat>
<html>
<body>
${kcSanitize(msg("executeActionsBodyHtml",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration)))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("identityProviderLinkBodyHtml", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration)))?no_esc}
</body>
</html>

View File

@ -0,0 +1,5 @@
<html>
<body>
${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
</body>
</html>

View File

@ -0,0 +1,50 @@
emailVerificationSubject=lumbung[dot]space: 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=<p>We''re excited to have you here! One more step to join! Please verify your account by pressing the link below.</p><p><a href="{0}">Link to e-mail address verification</a></p><p>Warmest regards, lumbung.space working group</p>
emailTestSubject=[KEYCLOAK] - SMTP test message
emailTestBody=This is a test message
emailTestBodyHtml=<p>This is a test message</p>
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=<p>Someone wants to link your <b>{1}</b> account with <b>{0}</b> account of user {2} . If this was you, click the link below to link accounts</p><p><a href="{3}">Link to confirm account linking</a></p><p>This link will expire within {5}.</p><p>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}.</p>
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=<p>Someone just requested to change your {2} account''s credentials. If this was you, click on the link below to reset them.</p><p><a href="{0}">Link to reset credentials</a></p><p>This link will expire within {3}.</p><p>If you don''t want to reset your credentials, just ignore this message and nothing will be changed.</p>
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=<p>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.</p><p><a href="{0}">Link to account update</a></p><p>This link will expire within {4}.</p><p>If you are unaware that your administrator has requested this, just ignore this message and nothing will be changed.</p>
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=<p>A failed login attempt was detected to your account on {0} from {1}. If this was not you, please contact an administrator.</p>
eventRemoveTotpSubject=Remove OTP
eventRemoveTotpBody=OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.
eventRemoveTotpBodyHtml=<p>OTP was removed from your account on {0} from {1}. If this was not you, please contact an administrator.</p>
eventUpdatePasswordSubject=Update password
eventUpdatePasswordBody=Your password was changed on {0} from {1}. If this was not you, please contact an administrator.
eventUpdatePasswordBodyHtml=<p>Your password was changed on {0} from {1}. If this was not you, please contact an administrator.</p>
eventUpdateTotpSubject=Update OTP
eventUpdateTotpBody=OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.
eventUpdateTotpBodyHtml=<p>OTP was updated for your account on {0} from {1}. If this was not you, please contact an administrator.</p>
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=lumbung[dot]space: 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=<p>Please verify your email address by entering in the following code.</p><p><b>{0}</b></p>

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("emailTestBody", realmName)}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("emailVerificationBodyCode",code)}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("emailVerificationBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("eventLoginErrorBody",event.date,event.ipAddress)}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("eventRemoveTotpBody",event.date, event.ipAddress)}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("eventUpdatePasswordBody",event.date, event.ipAddress)}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("eventUpdateTotpBody",event.date, event.ipAddress)}

View File

@ -0,0 +1,4 @@
<#ftl output_format="plainText">
<#assign requiredActionsText><#if requiredActions??><#list requiredActions><#items as reqActionItem>${msg("requiredAction.${reqActionItem}")}<#sep>, </#items></#list><#else></#if></#assign>
${msg("executeActionsBody",link, linkExpiration, realmName, requiredActionsText, linkExpirationFormatter(linkExpiration))}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration))}

View File

@ -0,0 +1,2 @@
<#ftl output_format="plainText">
${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}

View File

@ -42,17 +42,9 @@
</div>
<div class="${properties.kcFormGroupClass!}">
<div id="kc-form-options" class="${properties.kcFormOptionsClass!}">
<div class="${properties.kcFormOptionsWrapperClass!}">
</div>
</div>
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
<input
class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}"
name="login" id="kc-login" type="submit" value="${msg("doLogIn")}" />
</div>
</div>
<input
class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}"
name="login" id="kc-login" type="submit" value="${msg("doLogIn")}" />
</form>
</#if>
</@layout.registrationLayout>

View File

@ -9,14 +9,10 @@
<input type="password" id="password" name="password" autocomplete="current-password" style="display:none;"/>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="password-new" class="${properties.kcLabelClass!}">${msg("passwordNew")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="password" id="password-new" name="password-new" class="${properties.kcInputClass!}"
autofocus autocomplete="new-password"
aria-invalid="<#if messagesPerField.existsError('password','password-confirm')>true</#if>"
/>
<#if messagesPerField.existsError('password')>
<span id="input-error-password" class="${properties.kcInputErrorMessageClass!}" aria-live="polite">
@ -27,10 +23,7 @@
</div>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="password-confirm" class="${properties.kcLabelClass!}">${msg("passwordConfirm")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="password" id="password-confirm" name="password-confirm"
class="${properties.kcInputClass!}"
autocomplete="new-password"
@ -42,8 +35,6 @@
${kcSanitize(messagesPerField.get('password-confirm'))?no_esc}
</span>
</#if>
</div>
</div>
<div class="${properties.kcFormGroupClass!}">
@ -57,14 +48,13 @@
</div>
</div>
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
<#if isAppInitiatedAction??>
<#if isAppInitiatedAction??>
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
<button class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" type="submit" name="cancel-aia" value="true" />${msg("doCancel")}</button>
<#else>
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
</#if>
</div>
</div>
</form>
</#if>

View File

@ -6,10 +6,7 @@
<form id="kc-update-profile-form" class="${properties.kcFormClass!}" action="${url.loginAction}" method="post">
<#if user.editUsernameAllowed>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="username" class="${properties.kcLabelClass!}">${msg("username")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="text" id="username" name="username" value="${(user.username!'')}"
class="${properties.kcInputClass!}"
aria-invalid="<#if messagesPerField.existsError('username')>true</#if>"
@ -20,14 +17,10 @@
${kcSanitize(messagesPerField.get('username'))?no_esc}
</span>
</#if>
</div>
</div>
</#if>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="email" class="${properties.kcLabelClass!}">${msg("email")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="text" id="email" name="email" value="${(user.email!'')}"
class="${properties.kcInputClass!}"
aria-invalid="<#if messagesPerField.existsError('email')>true</#if>"
@ -38,14 +31,10 @@
${kcSanitize(messagesPerField.get('email'))?no_esc}
</span>
</#if>
</div>
</div>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="firstName" class="${properties.kcLabelClass!}">${msg("firstName")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="text" id="firstName" name="firstName" value="${(user.firstName!'')}"
class="${properties.kcInputClass!}"
aria-invalid="<#if messagesPerField.existsError('firstName')>true</#if>"
@ -56,14 +45,10 @@
${kcSanitize(messagesPerField.get('firstName'))?no_esc}
</span>
</#if>
</div>
</div>
<div class="${properties.kcFormGroupClass!}">
<div class="${properties.kcLabelWrapperClass!}">
<label for="lastName" class="${properties.kcLabelClass!}">${msg("lastName")}</label>
</div>
<div class="${properties.kcInputWrapperClass!}">
<input type="text" id="lastName" name="lastName" value="${(user.lastName!'')}"
class="${properties.kcInputClass!}"
aria-invalid="<#if messagesPerField.existsError('lastName')>true</#if>"
@ -74,7 +59,6 @@
${kcSanitize(messagesPerField.get('lastName'))?no_esc}
</span>
</#if>
</div>
</div>
<div class="${properties.kcFormGroupClass!}">
@ -83,14 +67,12 @@
</div>
</div>
<div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
<#if isAppInitiatedAction??>
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
<button class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" type="submit" name="cancel-aia" value="true" />${msg("doCancel")}</button>
<#else>
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonBlockClass!} ${properties.kcButtonLargeClass!}" type="submit" value="${msg("doSubmit")}" />
</#if>
</div>
</div>
</form>
</#if>

View File

@ -11,4 +11,4 @@
<a href="${url.loginAction}">${msg("doClickHere")}</a> ${msg("emailVerifyInstruction3")}
</p>
</#if>
</@layout.registrationLayout>
</@layout.registrationLayout>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
doLogIn=Sign In
doLogIn=sign in
doRegister=Register
doCancel=Cancel
doSubmit=Submit
@ -22,7 +22,7 @@ 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
loginAccountTitle=Sign in to lumbung.space
loginAccountTitle= sign in to
loginTitle=Sign in to {0}
loginTitleHtml={0}
impersonateTitle={0} Impersonate User
@ -58,14 +58,14 @@ consentDenied=Consent denied.
noAccount=New user?
username=Username
usernameOrEmail=Username or email
usernameOrEmail=username or email
firstName=First name
givenName=Given name
fullName=Full name
lastName=Last name
familyName=Family name
email=Email
password=Password
password=password
passwordConfirm=Confirm password
passwordNew=New Password
passwordNewConfirm=New Password confirmation
@ -136,7 +136,7 @@ oauth2DeviceAuthorizationGrantDisabledMessage=Client is not allowed to initiate
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.
emailVerifyInstruction3=to re-send the email. Don''t forget to check your spam folder! Feel free to mail contact@lumbung.space if you are still having problems, we''re happy to help out.
emailLinkIdpTitle=Link {0}
emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,9 +1,29 @@
body {
font-size:1.3em;
font-family: sans-serif;
@font-face {
font-family: Gudea;
font-style: normal;
font-weight: 400;
src: url(../fonts/gudea.woff2) format("woff2");
}
@font-face {
font-family: Gudea;
font-style: italic;
font-weight: 400;
src: url(../fonts/gudea-italic.woff2) format("woff2");
}
@font-face {
font-family: Gudea;
font-style: bold;
font-weight: 700;
src: url(../fonts/gudea-bold.woff2) format("woff2");
}
body {
font-size:1.3em;
font-family: Gudea, sans-serif;
}
a {
color: #1B4C8A;
}
@ -13,42 +33,55 @@ a {
border:2px solid black;
max-width:500px;
margin:auto;
box-shadow:1em 1em 0 #d2d1c8;
background-color: #fff09d;
transform: rotate(-1deg);
margin-top: 2em;
margin-top: 4em;
}
.card-pf #kc-content #kc-content-wrapper {
padding: 1em;
.col-xs-12.col-sm-12.col-md-12.col-lg-12 {
display: flex;
}
/*Login form */
.login-pf-header {
border-bottom: 2px solid black;
background-color: #BCE1D1;
height: 3.6em;
}
.header-container {
display: flex;
flex-direction: column;
margin-top: -3em;
}
.logo {
background-color: white;
border: 1px solid black;
margin-left: 5.5em;
transform: rotate(5deg);
}
#kc-page-title {
border-right: 2px solid black;
margin: 0;
padding: 0.2em;
padding-left: 0.5em;
padding-right: 0.5em;
margin-left: 0.75em;
font-size: 1em;
display: inline-block;
text-transform: uppercase;
height: 100%;
font-weight: normal;
}
#kc-form-wrapper {
margin-top: 1em;
}
#kc-terms-text {
padding: 1em;
}
#terms-form {
padding-left: 1em;
padding-bottom: 1em;
}
#kc-form-login {
display: flex;
align-items: baseline;
@ -60,8 +93,7 @@ a {
.form-group {
font-size: 14px;
margin: 10px auto;
border:2px solid #0e0e22;
width: 100%;
width: 440px;
display: flex;
flex-direction: column;
@ -76,23 +108,98 @@ a {
border: none;
}
#kc-username.form-group{
border: none;
padding-left: 1em;
font-size: 14px;
}
.form-group label {
font-weight: bold;
padding: 0.5em;
padding-bottom: 0.5em;
}
#kc-form-buttons {
margin: 0;
align-self: end;
margin-top: 1em;
}
all: unset;
display: inline-block;
width: 100%;
height: 2em;
align-self: center;
background-color: #AFAFAF;
border-top: 2px solid black;
cursor: pointer;
}
#kc-form-buttons:hover {
background-color: #bce1d1;
}
#kc-form-buttons:hover .login-button {
color: black;
}
.login-button {
all: unset;
display: block;
border: none;
color: #FFFFFF;
font-size: 1em;
font-weight: bold;
margin: auto;
padding: 0.3em;
}
.btn-lg {
all: unset;
display: block;
border: none;
color: #FFFFFF;
font-size: 1em;
font-weight: bold;
margin: auto;
padding: 0.2em;
}
#terms-form .btn-lg {
all: unset;
display: block;
border: none;
color: black;
font-size: 1em;
font-weight: bold;
margin: auto;
padding: 0.2em;
}
#terms-form .btn-lg:hover {
color: gray;
}
.pf-c-form-control {
border: none;
padding: 5px 5px 5px 5px;
border-top: 2px solid black;
border: 2px solid black;
flex-grow: 1;
}
/*OTP Login*/
#kc-username.form-group {
padding-left: 1em;
border: none;
}
#kc-attempted-username {
padding: 0;
font-style: unset;
}
div#kc-username:before{
content: "Logging in as: ";
}
.kc-login-tooltip {
text-align: right;
padding-right: 1em;
}
/*Login form + options*/
@ -160,20 +267,29 @@ a {
@media screen and (max-width: 530px) {
#kc-page-title {
border: unset;
}
.card-pf {
transform: initial;
box-shadow: unset;
width: 100%;
}
#kc-page-title {
border: unset;
}
#kc-register-form {
#kc-register-form {
margin: unset;
margin-bottom: 1.5em;
}
.logo {
max-width: 320px;
transform: none;
}
.logo svg {
width: 100%;
}
.form-group {
width: 88vw;
}
.form-group.login-pf-settings {
margin-bottom: 2em;
}
}
.......
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -4,9 +4,31 @@
${msg("termsTitle")}
<#elseif section = "form">
<div id="kc-terms-text">
${kcSanitize(msg("termsText"))?no_esc}
<h2>Welcome to lumbung.space</h2>
<p>lumbung.space is an experimental social and publishing platform by and for the lumbung-interlokal and lumbung artists. It is built on open platforms, co-operative governance and as a community infrastructure meant for our practices to develop and thrive.</p
<p>Along side the Community Guidelines and the Privacy Statement, these terms of service lumbung.space is:</p>
<ul>
<li>non-profit, non-extractive, owned and operated by is community of users, that means you!</li>
<li>currently made up of parts, cloud, tv, social, books, pen, and the members page</li>
<li>experimental and a place of learning, we are trying to find out what a social platform for a lumbung practice looks like</li>
</ul>
<h3>A shared resource</h3>
<p>lumbung.space is a shared resource and an environment that strives to be welcoming, generous, funny and critical. Be considerate to others, respectful to the resources, be ready to ask for help if you need it, or to give help if others do! Feel free to try, play, modify and use as you see fit! A shared resource that does not sell, trade, or otherwise transfer to outside parties your personally identifiable information.</p>
<h3>Account/Site</h3>
<p>If you create/have an account on the lumbung.space, you are responsible for maintaining the security of your account, and you are fully responsible for all activities that occur under the account and any other actions taken in connection with the lumbung.space's ecosystem (various apps). You must not describe or assign keywords to lumbung.space in a misleading or unlawful manner, including in a manner intended to trade on the name or reputation of others, and lumbung.space's moderator may change or remove any description or keyword that it considers inappropriate or unlawful, or otherwise likely to cause lumbung.space.</p>
<h3>Liability</h3>
<p>lumbung.space is built to prioritize the safety of your data. There are back-up routines in place and encryption is used everywhere. Despite all that, storing data on-line comes with risks. By using lumbung.space you agree that lumbung.space is not liable for unexpected downtime, data loss or breaches. You take care of your own backups and don't use lumbung.space as the only place to store materials.</p>
<h3>Data & content policy</h3>
<p>You own all the data you upload or create on lumbung.space. That means lumbung.space will not lay claim to it but also that you do not infringe on other's copyright. Whenever you publish something on lumbung.space so that third parties can see it, for example by publishing it on the front page, you do so with the explicit understanding that you have the right to publish it.You can always delete your accounts and your data at any time or contact us to help you do so.</p>
</div>
<form class="form-actions" action="${url.loginAction}" method="POST">
<form id="terms-form" class="form-actions" action="${url.loginAction}" method="POST">
<input class="${properties.kcButtonClass!} ${properties.kcButtonPrimaryClass!} ${properties.kcButtonLargeClass!}" name="accept" id="kc-accept" type="submit" value="${msg("doAccept")}"/>
<input class="${properties.kcButtonClass!} ${properties.kcButtonDefaultClass!} ${properties.kcButtonLargeClass!}" name="cancel" id="kc-decline" type="submit" value="${msg("doDecline")}"/>
</form>

View File

@ -1,130 +0,0 @@
parent=base
import=common/keycloak
styles=css/login.css css/tile.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
meta=viewport==width=device-width,initial-scale=1
kcHtmlClass=login-pf
kcLoginClass=login-pf-page
kcLogoLink=http://www.keycloak.org
kcLogoClass=login-pf-brand
kcContainerClass=container-fluid
kcContentClass=col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3 col-lg-6 col-lg-offset-3
kcHeaderClass=login-pf-page-header
kcFeedbackAreaClass=col-md-12
kcLocaleClass=col-xs-12 col-sm-1
## Locale
kcLocaleMainClass=pf-c-dropdown
kcLocaleListClass=pf-c-dropdown__menu pf-m-align-right
kcLocaleItemClass=pf-c-dropdown__menu-item
## Alert
kcAlertClass=pf-c-alert pf-m-inline
kcAlertTitleClass=pf-c-alert__title kc-feedback-text
kcFormAreaClass=col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-2
kcFormCardClass=card-pf
### Social providers
kcFormSocialAccountListClass=pf-c-login__main-footer-links kc-social-links
kcFormSocialAccountListGridClass=pf-l-grid kc-social-grid
kcFormSocialAccountListButtonClass=pf-c-button pf-m-control pf-m-block kc-social-item kc-social-gray
kcFormSocialAccountGridItem=pf-l-grid__item
kcFormSocialAccountNameClass=kc-social-provider-name
kcFormSocialAccountLinkClass=pf-c-login__main-footer-links-item-link
kcFormSocialAccountSectionClass=kc-social-section kc-social-gray
kcFormHeaderClass=login-pf-header
kcFeedbackErrorIcon=fa fa-fw fa-exclamation-circle
kcFeedbackWarningIcon=fa fa-fw fa-exclamation-triangle
kcFeedbackSuccessIcon=fa fa-fw fa-check-circle
kcFeedbackInfoIcon=fa fa-fw fa-info-circle
kcResetFlowIcon=pficon pficon-arrow fa
kcWebAuthnKeyIcon=pficon pficon-key
kcFormClass=form-horizontal
kcFormGroupClass=form-group
kcFormGroupErrorClass=has-error
kcLabelClass=pf-c-form__label pf-c-form__label-text
kcLabelWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
kcInputClass=pf-c-form-control
kcInputErrorMessageClass=pf-c-form__helper-text pf-m-error required kc-feedback-text
kcInputWrapperClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
kcFormOptionsClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
kcFormButtonsClass=col-xs-12 col-sm-12 col-md-12 col-lg-12
kcFormSettingClass=login-pf-settings
kcTextareaClass=form-control
kcSignUpClass=login-pf-signup
kcInfoAreaClass=col-xs-12 col-sm-4 col-md-4 col-lg-5 details
##### css classes for form buttons
# main class used for all buttons
kcButtonClass=pf-c-button
# classes defining priority of the button - primary or default (there is typically only one priority button for the form)
kcButtonPrimaryClass=pf-m-primary
kcButtonDefaultClass=btn-default
# classes defining size of the button
kcButtonLargeClass=btn-lg
kcButtonBlockClass=pf-m-block
##### css classes for input
kcInputLargeClass=input-lg
##### css classes for form accessability
kcSrOnlyClass=sr-only
##### css classes for select-authenticator form
kcSelectAuthListClass=pf-l-stack select-auth-container
kcSelectAuthListItemClass=pf-l-stack__item select-auth-box-parent pf-l-split
kcSelectAuthListItemIconClass=pf-l-split__item select-auth-box-icon
kcSelectAuthListItemBodyClass=pf-l-split__item pf-l-stack
kcSelectAuthListItemHeadingClass=pf-l-stack__item select-auth-box-headline pf-c-title
kcSelectAuthListItemDescriptionClass=pf-l-stack__item select-auth-box-desc
kcSelectAuthListItemFillClass=pf-l-split__item pf-m-fill
kcSelectAuthListItemArrowClass=pf-l-split__item select-auth-box-arrow
kcSelectAuthListItemArrowIconClass=fa fa-angle-right fa-lg
##### css classes for the authenticators
kcAuthenticatorDefaultClass=fa list-view-pf-icon-lg
kcAuthenticatorPasswordClass=fa fa-unlock list-view-pf-icon-lg
kcAuthenticatorOTPClass=fa fa-mobile list-view-pf-icon-lg
kcAuthenticatorWebAuthnClass=fa fa-key list-view-pf-icon-lg
kcAuthenticatorWebAuthnPasswordlessClass=fa fa-key list-view-pf-icon-lg
##### css classes for the OTP Login Form
kcLoginOTPListClass=pf-c-tile
kcLoginOTPListInputClass=pf-c-tile__input
kcLoginOTPListItemHeaderClass=pf-c-tile__header
kcLoginOTPListItemIconBodyClass=pf-c-tile__icon
kcLoginOTPListItemIconClass=fa fa-mobile
kcLoginOTPListItemTitleClass=pf-c-tile__title
##### css classes for identity providers logos
kcCommonLogoIdP=kc-social-provider-logo kc-social-gray
## Social
kcLogoIdP-facebook=fa fa-facebook
kcLogoIdP-google=fa fa-google
kcLogoIdP-github=fa fa-github
kcLogoIdP-linkedin=fa fa-linkedin
kcLogoIdP-instagram=fa fa-instagram
## windows instead of microsoft - not included in PF4
kcLogoIdP-microsoft=fa fa-windows
kcLogoIdP-bitbucket=fa fa-bitbucket
kcLogoIdP-gitlab=fa fa-gitlab
kcLogoIdP-paypal=fa fa-paypal
kcLogoIdP-stackoverflow=fa fa-stack-overflow
kcLogoIdP-twitter=fa fa-twitter
kcLogoIdP-openshift-v4=pf-icon pf-icon-openshift
kcLogoIdP-openshift-v3=pf-icon pf-icon-openshift