feat: verify email flow
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
b736318908
commit
e49ee45709
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=We''re excited to have you here! One more step to join! Please verify your account by pressing the link below.\n\n{0}\n\nThis link will expire within {3}.\n\nIf you have any issue regarding to registration, please reach us through contact@lumbung.space. We are always happy to help out :)\n\nWarmest regards, lumbung.space working group
|
||||
emailVerificationBodyHtml=<p>Someone has created a {2} account with this email address. If this was you, click the link below to verify your email address</p><p><a href="{0}">Link to e-mail address verification</a></p><p>This link will expire within {3}.</p><p>If you didn''t create this account, just ignore this message.</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))}
|
@ -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. Don't forget to check your spam folder! Feel free to mail contact@lumbung.space if you're still having problems, we're happy to help out.
|
||||
emailVerifyInstruction3=to re-send the email. Don't forget to check your spam folder! Feel free to mail <a href="mailto:contact@lumbung.space">contact@lumbung.space</a> if you are still having problems, we are 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.
|
||||
@ -293,7 +293,7 @@ staleCodeMessage=This page is no longer valid, please go back to your applicatio
|
||||
realmSupportsNoCredentialsMessage=Realm does not support any credential type.
|
||||
credentialSetupRequired=Cannot login, credential setup required.
|
||||
identityProviderNotUniqueMessage=Realm supports multiple identity providers. Could not determine which identity provider should be used to authenticate with.
|
||||
emailVerifiedMessage=Your email address has been verified.
|
||||
emailVerifiedMessage=Yay, your email address has been verified! Log in to <a href="https://members.lumbung.space">members.lumbung.space</a> to get started :)
|
||||
staleEmailVerificationLink=The link you clicked is an old stale link and is no longer valid. Maybe you have already verified your email.
|
||||
identityProviderAlreadyLinkedMessage=Federated identity returned by {0} is already linked to another user.
|
||||
confirmAccountLinking=Confirm linking the account {0} of identity provider {1} with your account.
|
||||
@ -336,7 +336,7 @@ 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.VERIFY_EMAIL=lumbung[dot]space: verify email
|
||||
|
||||
doX509Login=You will be logged in as\:
|
||||
clientCertificate=X509 client certificate\:
|
||||
|
Loading…
Reference in New Issue
Block a user