Compare commits
35 Commits
5f08b3ea3a
...
main
Author | SHA1 | Date | |
---|---|---|---|
d7d39e85ac | |||
1e924472bb | |||
3f10bd7a95 | |||
10581b44b1 | |||
add791e087 | |||
7f22479d29
|
|||
ec69c49371
|
|||
f526c20e78 | |||
85d715ad00 | |||
ac2a6c1753 | |||
eb9fafdc96 | |||
82df4ba11d | |||
7cd9da93aa | |||
2aaef7bab0 | |||
9fe94e6ce7 | |||
f943915553 | |||
9feb042414 | |||
65d61005c4 | |||
d33ba9590f | |||
1a21f4c1ab | |||
1c01bfd00f | |||
f89f7be21c | |||
b084b18e5a | |||
5ad9090417 | |||
51fb2029f0 | |||
fccad406d3 | |||
1f4fec6aa3 | |||
854ec97956 | |||
e49ee45709 | |||
b736318908 | |||
b595726742 | |||
fed3f486aa | |||
15d0773bce | |||
037aaf63eb | |||
57eeabe134 |
@ -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:
|
||||
|
@ -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>
|
||||
|
||||
|
5
lumbung.space/email/html/email-test.ftl
Normal file
5
lumbung.space/email/html/email-test.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("emailTestBodyHtml",realmName))?no_esc}
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("emailVerificationBodyCodeHtml",code))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/email-verification.ftl
Normal file
5
lumbung.space/email/html/email-verification.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("emailVerificationBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/event-login_error.ftl
Normal file
5
lumbung.space/email/html/event-login_error.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("eventLoginErrorBodyHtml",event.date,event.ipAddress))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/event-remove_totp.ftl
Normal file
5
lumbung.space/email/html/event-remove_totp.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("eventRemoveTotpBodyHtml",event.date, event.ipAddress))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/event-update_password.ftl
Normal file
5
lumbung.space/email/html/event-update_password.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("eventUpdatePasswordBodyHtml",event.date, event.ipAddress))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/event-update_totp.ftl
Normal file
5
lumbung.space/email/html/event-update_totp.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("eventUpdateTotpBodyHtml",event.date, event.ipAddress))?no_esc}
|
||||
</body>
|
||||
</html>
|
9
lumbung.space/email/html/executeActions.ftl
Executable file
9
lumbung.space/email/html/executeActions.ftl
Executable 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>
|
5
lumbung.space/email/html/identity-provider-link.ftl
Normal file
5
lumbung.space/email/html/identity-provider-link.ftl
Normal file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("identityProviderLinkBodyHtml", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration)))?no_esc}
|
||||
</body>
|
||||
</html>
|
5
lumbung.space/email/html/password-reset.ftl
Executable file
5
lumbung.space/email/html/password-reset.ftl
Executable file
@ -0,0 +1,5 @@
|
||||
<html>
|
||||
<body>
|
||||
${kcSanitize(msg("passwordResetBodyHtml",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration)))?no_esc}
|
||||
</body>
|
||||
</html>
|
50
lumbung.space/email/messages/messages_en.properties
Executable file
50
lumbung.space/email/messages/messages_en.properties
Executable 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>
|
2
lumbung.space/email/text/email-test.ftl
Normal file
2
lumbung.space/email/text/email-test.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("emailTestBody", realmName)}
|
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("emailVerificationBodyCode",code)}
|
2
lumbung.space/email/text/email-verification.ftl
Normal file
2
lumbung.space/email/text/email-verification.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("emailVerificationBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}
|
2
lumbung.space/email/text/event-login_error.ftl
Normal file
2
lumbung.space/email/text/event-login_error.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("eventLoginErrorBody",event.date,event.ipAddress)}
|
2
lumbung.space/email/text/event-remove_totp.ftl
Normal file
2
lumbung.space/email/text/event-remove_totp.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("eventRemoveTotpBody",event.date, event.ipAddress)}
|
2
lumbung.space/email/text/event-update_password.ftl
Normal file
2
lumbung.space/email/text/event-update_password.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("eventUpdatePasswordBody",event.date, event.ipAddress)}
|
2
lumbung.space/email/text/event-update_totp.ftl
Normal file
2
lumbung.space/email/text/event-update_totp.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("eventUpdateTotpBody",event.date, event.ipAddress)}
|
4
lumbung.space/email/text/executeActions.ftl
Executable file
4
lumbung.space/email/text/executeActions.ftl
Executable 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))}
|
2
lumbung.space/email/text/identity-provider-link.ftl
Normal file
2
lumbung.space/email/text/identity-provider-link.ftl
Normal file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("identityProviderLinkBody", identityProviderAlias, realmName, identityProviderContext.username, link, linkExpiration, linkExpirationFormatter(linkExpiration))}
|
2
lumbung.space/email/text/password-reset.ftl
Executable file
2
lumbung.space/email/text/password-reset.ftl
Executable file
@ -0,0 +1,2 @@
|
||||
<#ftl output_format="plainText">
|
||||
${msg("passwordResetBody",link, linkExpiration, realmName, linkExpirationFormatter(linkExpiration))}
|
@ -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>
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
@ -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.
|
||||
|
16
lumbung.space/login/resources/assets/lumbung-space-logo.svg
Normal file
16
lumbung.space/login/resources/assets/lumbung-space-logo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 29 KiB |
@ -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;
|
||||
}
|
||||
}
|
||||
.......
|
||||
}
|
BIN
lumbung.space/login/resources/fonts/gudea-bold.woff2
Normal file
BIN
lumbung.space/login/resources/fonts/gudea-bold.woff2
Normal file
Binary file not shown.
BIN
lumbung.space/login/resources/fonts/gudea-italic.woff2
Normal file
BIN
lumbung.space/login/resources/fonts/gudea-italic.woff2
Normal file
Binary file not shown.
BIN
lumbung.space/login/resources/fonts/gudea.woff2
Normal file
BIN
lumbung.space/login/resources/fonts/gudea.woff2
Normal file
Binary file not shown.
@ -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>
|
||||
|
@ -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
|
Reference in New Issue
Block a user