public class FreeMarkerLoginFormsProvider extends Object implements LoginFormsProvider
| Modifier and Type | Field and Description |
|---|---|
protected String |
accessCode |
protected URI |
actionUri |
protected Map<String,Object> |
attributes |
protected AuthenticationSessionModel |
authenticationSession
authenticationSession can be null for some renderings, mainly error pages
|
protected ClientModel |
client |
protected List<ClientScopeModel> |
clientScopesRequested |
protected javax.ws.rs.core.MediaType |
contentType |
protected AuthenticationFlowContext |
context |
protected String |
execution |
protected javax.ws.rs.core.MultivaluedMap<String,String> |
formData |
protected FreeMarkerUtil |
freeMarker |
protected Map<String,String> |
httpResponseHeaders |
protected List<FormMessage> |
messages |
protected MessageType |
messageType |
protected RealmModel |
realm |
protected KeycloakSession |
session |
protected javax.ws.rs.core.Response.Status |
status |
protected javax.ws.rs.core.UriInfo |
uriInfo |
protected UserModel |
user |
IDENTITY_PROVIDER_BROKER_CONTEXT, REGISTRATION_DISABLED, UPDATE_PROFILE_CONTEXT_ATTR, USERNAME_EDIT_DISABLED| Constructor and Description |
|---|
FreeMarkerLoginFormsProvider(KeycloakSession session,
FreeMarkerUtil freeMarker) |
| Modifier and Type | Method and Description |
|---|---|
LoginFormsProvider |
addError(FormMessage errorMessage) |
void |
addScript(String scriptUrl)
Adds a script to the html header
|
LoginFormsProvider |
addSuccess(FormMessage errorMessage)
Add a success message to the form
|
void |
close() |
javax.ws.rs.core.Response |
createCode() |
protected void |
createCommonAttributes(Theme theme,
Locale locale,
Properties messagesBundle,
javax.ws.rs.core.UriBuilder baseUriBuilder,
LoginFormsPages page)
Create common attributes used in all templates.
|
javax.ws.rs.core.Response |
createErrorPage(javax.ws.rs.core.Response.Status status) |
javax.ws.rs.core.Response |
createForm(String form) |
javax.ws.rs.core.Response |
createIdpLinkConfirmLinkPage() |
javax.ws.rs.core.Response |
createIdpLinkEmailPage() |
javax.ws.rs.core.Response |
createInfoPage() |
javax.ws.rs.core.Response |
createLoginExpiredPage() |
javax.ws.rs.core.Response |
createLoginPassword() |
javax.ws.rs.core.Response |
createLoginTotp() |
javax.ws.rs.core.Response |
createLoginUsername() |
javax.ws.rs.core.Response |
createLoginUsernamePassword() |
javax.ws.rs.core.Response |
createLoginWebAuthn() |
javax.ws.rs.core.Response |
createOAuthGrant() |
javax.ws.rs.core.Response |
createPasswordReset() |
javax.ws.rs.core.Response |
createRegistration() |
protected javax.ws.rs.core.Response |
createResponse(LoginFormsPages page) |
javax.ws.rs.core.Response |
createResponse(UserModel.RequiredAction action) |
javax.ws.rs.core.Response |
createSamlPostForm() |
javax.ws.rs.core.Response |
createSelectAuthenticator() |
javax.ws.rs.core.Response |
createUpdateProfilePage() |
javax.ws.rs.core.Response |
createWebAuthnErrorPage() |
javax.ws.rs.core.Response |
createX509ConfirmPage() |
protected String |
formatMessage(FormMessage message,
Properties messagesBundle,
Locale locale) |
protected String |
getFirstMessageUnformatted() |
String |
getMessage(String message) |
String |
getMessage(String message,
String... parameters) |
protected Theme |
getTheme()
Get Theme used for page rendering.
|
protected void |
handleMessages(Locale locale,
Properties messagesBundle)
Handle messages to be shown on the page - set them to template attributes
|
protected Properties |
handleThemeResources(Theme theme,
Locale locale)
Load message bundle and place it into
msg template attribute. |
protected javax.ws.rs.core.UriBuilder |
prepareBaseUriBuilder(boolean resetRequestUriParams)
Prepare base uri builder for later use
|
protected javax.ws.rs.core.Response |
processTemplate(Theme theme,
String templateName,
Locale locale)
Process FreeMarker template and prepare Response.
|
LoginFormsProvider |
setAccessRequest(List<ClientScopeModel> clientScopesRequested) |
LoginFormsProvider |
setActionUri(URI actionUri) |
LoginFormsProvider |
setAttribute(String name,
Object value) |
LoginFormsProvider |
setAuthContext(AuthenticationFlowContext context) |
LoginFormsProvider |
setAuthenticationSession(AuthenticationSessionModel authenticationSession) |
LoginFormsProvider |
setClientSessionCode(String accessCode) |
FreeMarkerLoginFormsProvider |
setError(String message,
Object... parameters)
Set one global error message.
|
LoginFormsProvider |
setErrors(List<FormMessage> messages)
Set multiple error messages.
|
LoginFormsProvider |
setExecution(String execution) |
FreeMarkerLoginFormsProvider |
setFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData) |
FreeMarkerLoginFormsProvider |
setInfo(String message,
Object... parameters) |
LoginFormsProvider |
setMediaType(javax.ws.rs.core.MediaType type) |
protected void |
setMessage(MessageType type,
String message,
Object... parameters) |
LoginFormsProvider |
setResponseHeader(String headerName,
String headerValue) |
LoginFormsProvider |
setStatus(javax.ws.rs.core.Response.Status status) |
FreeMarkerLoginFormsProvider |
setSuccess(String message,
Object... parameters) |
FreeMarkerLoginFormsProvider |
setUser(UserModel user) |
protected String accessCode
protected javax.ws.rs.core.Response.Status status
protected javax.ws.rs.core.MediaType contentType
protected List<ClientScopeModel> clientScopesRequested
protected URI actionUri
protected String execution
protected AuthenticationFlowContext context
protected List<FormMessage> messages
protected MessageType messageType
protected KeycloakSession session
protected AuthenticationSessionModel authenticationSession
protected RealmModel realm
protected ClientModel client
protected javax.ws.rs.core.UriInfo uriInfo
protected FreeMarkerUtil freeMarker
protected UserModel user
public FreeMarkerLoginFormsProvider(KeycloakSession session, FreeMarkerUtil freeMarker)
public void addScript(String scriptUrl)
LoginFormsProvideraddScript in interface LoginFormsProviderpublic javax.ws.rs.core.Response createResponse(UserModel.RequiredAction action)
createResponse in interface LoginFormsProviderprotected javax.ws.rs.core.Response createResponse(LoginFormsPages page)
public javax.ws.rs.core.Response createForm(String form)
createForm in interface LoginFormsProviderprotected javax.ws.rs.core.UriBuilder prepareBaseUriBuilder(boolean resetRequestUriParams)
resetRequestUriParams - - for some reason Resteasy 2.3.7 doesn't like query params and form params with the same name and will null out the code form param, so we have to reset them for some pagesprotected Theme getTheme() throws IOException
IOException - in case of Theme loading problemprotected Properties handleThemeResources(Theme theme, Locale locale)
msg template attribute. Also load Theme properties and place them into properties template attribute.theme - actual Theme to load bundle fromlocale - to load bundle forprotected void handleMessages(Locale locale, Properties messagesBundle)
locale - to be used for message text loadingmessagesBundle - to be used for message text loadingmessageType,
messagespublic String getMessage(String message)
getMessage in interface LoginFormsProviderpublic String getMessage(String message, String... parameters)
getMessage in interface LoginFormsProviderprotected void createCommonAttributes(Theme theme, Locale locale, Properties messagesBundle, javax.ws.rs.core.UriBuilder baseUriBuilder, LoginFormsPages page)
theme - actual Theme used (provided by getTheme())locale - actual localemessagesBundle - actual message bundle (provided by handleThemeResources())baseUriBuilder - actual base uri builder (provided by prepareBaseUriBuilder())page - in case if common page is rendered, is null if called from createForm()protected javax.ws.rs.core.Response processTemplate(Theme theme, String templateName, Locale locale)
theme - to be used (provided by getTheme())templateName - name of the template to be renderedlocale - to be usedpublic javax.ws.rs.core.Response createLoginUsernamePassword()
createLoginUsernamePassword in interface LoginFormsProviderpublic javax.ws.rs.core.Response createLoginUsername()
createLoginUsername in interface LoginFormsProviderpublic javax.ws.rs.core.Response createLoginPassword()
createLoginPassword in interface LoginFormsProviderpublic javax.ws.rs.core.Response createPasswordReset()
createPasswordReset in interface LoginFormsProviderpublic javax.ws.rs.core.Response createLoginTotp()
createLoginTotp in interface LoginFormsProviderpublic javax.ws.rs.core.Response createLoginWebAuthn()
createLoginWebAuthn in interface LoginFormsProviderpublic javax.ws.rs.core.Response createRegistration()
createRegistration in interface LoginFormsProviderpublic javax.ws.rs.core.Response createInfoPage()
createInfoPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createUpdateProfilePage()
createUpdateProfilePage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createIdpLinkConfirmLinkPage()
createIdpLinkConfirmLinkPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createLoginExpiredPage()
createLoginExpiredPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createIdpLinkEmailPage()
createIdpLinkEmailPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createErrorPage(javax.ws.rs.core.Response.Status status)
createErrorPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createWebAuthnErrorPage()
createWebAuthnErrorPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createOAuthGrant()
createOAuthGrant in interface LoginFormsProviderpublic javax.ws.rs.core.Response createSelectAuthenticator()
createSelectAuthenticator in interface LoginFormsProviderpublic javax.ws.rs.core.Response createCode()
createCode in interface LoginFormsProviderpublic javax.ws.rs.core.Response createX509ConfirmPage()
createX509ConfirmPage in interface LoginFormsProviderpublic javax.ws.rs.core.Response createSamlPostForm()
createSamlPostForm in interface LoginFormsProviderprotected void setMessage(MessageType type, String message, Object... parameters)
protected String getFirstMessageUnformatted()
protected String formatMessage(FormMessage message, Properties messagesBundle, Locale locale)
public FreeMarkerLoginFormsProvider setError(String message, Object... parameters)
LoginFormsProvidersetError in interface LoginFormsProvidermessage - key of messageparameters - to be formatted into messagepublic LoginFormsProvider setErrors(List<FormMessage> messages)
LoginFormsProvidersetErrors in interface LoginFormsProvidermessages - to be setpublic LoginFormsProvider addError(FormMessage errorMessage)
addError in interface LoginFormsProviderpublic LoginFormsProvider addSuccess(FormMessage errorMessage)
LoginFormsProvideraddSuccess in interface LoginFormsProviderpublic FreeMarkerLoginFormsProvider setSuccess(String message, Object... parameters)
setSuccess in interface LoginFormsProviderpublic FreeMarkerLoginFormsProvider setInfo(String message, Object... parameters)
setInfo in interface LoginFormsProviderpublic LoginFormsProvider setAuthenticationSession(AuthenticationSessionModel authenticationSession)
setAuthenticationSession in interface LoginFormsProviderpublic FreeMarkerLoginFormsProvider setUser(UserModel user)
setUser in interface LoginFormsProviderpublic FreeMarkerLoginFormsProvider setFormData(javax.ws.rs.core.MultivaluedMap<String,String> formData)
setFormData in interface LoginFormsProviderpublic LoginFormsProvider setClientSessionCode(String accessCode)
setClientSessionCode in interface LoginFormsProviderpublic LoginFormsProvider setAccessRequest(List<ClientScopeModel> clientScopesRequested)
setAccessRequest in interface LoginFormsProviderpublic LoginFormsProvider setAttribute(String name, Object value)
setAttribute in interface LoginFormsProviderpublic LoginFormsProvider setStatus(javax.ws.rs.core.Response.Status status)
setStatus in interface LoginFormsProviderpublic LoginFormsProvider setMediaType(javax.ws.rs.core.MediaType type)
setMediaType in interface LoginFormsProviderpublic LoginFormsProvider setActionUri(URI actionUri)
setActionUri in interface LoginFormsProviderpublic LoginFormsProvider setExecution(String execution)
setExecution in interface LoginFormsProviderpublic LoginFormsProvider setResponseHeader(String headerName, String headerValue)
setResponseHeader in interface LoginFormsProviderpublic LoginFormsProvider setAuthContext(AuthenticationFlowContext context)
setAuthContext in interface LoginFormsProviderCopyright © 2021 JBoss by Red Hat. All rights reserved.