public abstract class WebDriverHandler
extends org.eclipse.jetty.server.handler.HandlerCollection
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
WebDriverHandler.SpawnerResult
Simple container for the spawn result.
|
protected static class |
WebDriverHandler.SsoUsers
Simple container for accounts associated with the sso login.
|
static class |
WebDriverHandler.SupportedHttpCode
Enum for result codes available to the end-user.
|
private static class |
WebDriverHandler.UiTextKey
Keys for translation resources.
|
private static class |
WebDriverHandler.WebSessionListener
Listener for client sessions.
|
org.eclipse.jetty.server.handler.HandlerCollection.Handlersorg.eclipse.jetty.server.handler.AbstractHandler.ErrorDispatchHandlerorg.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListenerorg.eclipse.jetty.util.component.LifeCycle.Listener| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
AUTO_LOGIN_DATA
Template placeholder for the newly spawned client url.
|
private java.util.List<java.lang.String> |
baseDirWebOverrides
The bootstrap config overrides coming from directory.
|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
CLIENT_UUID_AUTHBLOB_PAIRS
Map of client uuid : authentication blob for sso.
|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
CLIENT_UUID_DEVICEID_PAIRS
Map of client uuid : device ID.
|
static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
CLIENT_UUID_FWD_USERS
Map of client uuid : fwd user for sso.
|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String[]>> |
CLIENT_UUID_LOGIN_PARAMS
Map of client uuid : ALL login url param name : values (to be validated and filtered out before
accessed by 4GL).
|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
CLIENT_UUID_RELATED_SESSION_ID_PAIRS
Map of client uuid : related session ID.
|
(package private) static java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> |
CLIENT_UUID_SESS_DESCR_PAIRS
Map of client uuid : session description.
|
private static java.lang.String |
CONTEXT_PATH_LOGOUT
The logout page context path.
|
private static java.lang.String |
DEFAULT_OS_USER
The default OS user with SSO login.
|
private static java.lang.String |
DEVICE_ID_COOKIE_DIVIDER
The divider between the device ID and the signature in the FWD device ID cookie.
|
private static java.lang.String |
DEVICE_ID_COOKIE_NAME
The name of the FWD device ID cookie.
|
private static java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
deviceIdSessionIdPairs
Collections of all live sessions sorted by the corresponding device ID.
|
private static DigitalSignature |
digitalSignature
The signature instance to sign and verify device id cookies.
|
(package private) static java.util.Map<WebDriverType,WebClientBuilderOptions> |
driverOptionsMap
Replaces the former WebClientBuilderParameters.cbo
|
private static java.util.Map<java.lang.String,java.util.regex.Pattern> |
expectedLoginParamNameRegex
Map of name and validation regex for login request params configured in directory's webClient.
|
private static java.util.Map<java.lang.String,java.lang.String> |
FILE_EXT_MIME_TYPE_PAIRS
Map of the supported file ext and their corresponding mime types.
|
private java.util.List<java.lang.String> |
firstWebOverrides
The bootstrap config overrides to be applied first.
|
private static java.lang.String |
FORWARDED_HOST_CONFIG
Directory config for the host:port when reverse proxy enabled.
|
private static java.lang.String |
FORWARDED_PROTO_CONFIG
Directory config for the protocol when reverse proxy enabled.
|
private java.util.List<java.lang.String> |
lastWebOverrides
The bootstrap config overrides to be applied last.
|
private static CentralLogger |
LOG
Logger.
|
static boolean |
ONE_BROWSER_POLICY
Flag to indicate if the One Browser Policy is enabled.
|
private static boolean |
OS_USER_OVERRIDE
Indicates the OS user for the SSO login should be overwritten by
DEFAULT_OS_USER. |
protected static java.lang.String |
PAGE_TITLE_LOGIN
The login page title.
|
protected static java.lang.String |
PAGE_TITLE_LOGOUT
The logout page title.
|
(package private) static java.lang.String |
PKG_RES_DIR
The dir name in the custom package where the relevant res reside.
|
protected static java.lang.String |
PKG_ROOT
The application's package root, in folder form.
|
protected static java.lang.String |
PLACEHOLDER_HTML_TEMPLATE
Template placeholder for the html template.
|
protected static java.lang.String |
PLACEHOLDER_PROXY_PATH
Template placeholder for a reverse proxy custom context path.
|
protected static java.lang.String |
PLACEHOLDER_TITLE
Template placeholder for page title.
|
protected static java.util.Map<java.lang.String,java.lang.String> |
PLACEHOLDER_VALUE_PAIRS
Template placeholder : current value pairs.
|
private static java.lang.String |
PROXY_PATH
The reverse proxy custom context path.
|
protected static boolean |
REMOVE_PROXY_PATH_IN_WEB_PAGES
Flag to remove the proxy path from login/logout page urls to allow reverse proxy mapping of
TARGET_GUI_ROOT and
TARGET_CHUI_ROOT directly to the proxy path. |
private static int |
SECURE_PORT
The server's secure port or -1 if this is a remote launch.
|
private static java.lang.String |
SERVER_ALIAS
The alias of the server certificate in the certificate key store which will be used to authenticate
that this server indeed is on the other side of the secure connection.
|
private static InitTermListener |
SESSION_LISTENER
Session initialization / termination listener.
|
private static java.util.Map<java.lang.String,java.lang.ref.WeakReference<ClientExports>> |
sessionIdClientPairs
Pairs of session id : ClientExports network interface.
|
private static java.util.Map<java.lang.String,java.lang.Object> |
sessionIdNetIdPairs
Pairs of session id (accessible from session handle) : session net id (from security manager).
|
private static java.lang.String |
TARGET_BASE_RES
The context for the base web resources (css, favicon, logo)
|
(package private) static java.lang.String |
TARGET_CHUI_LOGOUT
The portion of the CHUI client request name (part of the URL).
|
(package private) static java.lang.String |
TARGET_CHUI_ROOT
The root portion of the ChUI client request name (part of the URL).
|
(package private) static java.lang.String |
TARGET_EMBEDDED
The base path for this handler.
|
(package private) static java.lang.String |
TARGET_GUI_LOGOUT
The portion of the GUI client request name (part of the URL).
|
(package private) static java.lang.String |
TARGET_GUI_ROOT
The root portion of the GUI client request name (part of the URL).
|
protected static SessionlessTranslationManager |
TRANSLATION_MANAGER
Translations manager.
|
| Constructor and Description |
|---|
WebDriverHandler(java.lang.String firstOption,
java.lang.String lastOption)
Package-private constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private static java.util.List<java.lang.String> |
addThemeToOptions(java.lang.String selectedTheme)
Adds the chosen theme from the HTTP request parameters to the spawn options.
|
private static java.util.List<java.lang.String> |
addUrlsToOptions(java.util.List<java.lang.String> options,
WebDriverRequestParameters requestParameters,
WebDriverType driverType)
Adds the urls for login and logout page to list of spawn options.
|
static java.util.Map<java.lang.String,java.lang.String[]> |
filterOutValidLoginParams(java.util.Map<java.lang.String,java.lang.String[]> loginParams)
Returns a map of all valid login params according to directory configurations.
|
private Tuple<java.lang.String,javax.servlet.http.Cookie> |
generateDeviceId()
Generates a new UUID for a new device ID, signs it with the server certificate and sets it in a cookie.
|
(package private) static WebDriverRequestParameters |
getRequestParameters(org.eclipse.jetty.server.Request base,
javax.servlet.http.HttpServletRequest request)
Retrieves these parameters: a forwarded host, a forwarded proto and a client IP address if
they are provided by http request.
|
protected java.lang.String |
getResPathCurrentDir(java.lang.String fileName)
Returns the web context path to the target resource file, transforming the class package into segments
of the path.
|
static java.lang.String |
getServerProxyPath(javax.servlet.http.HttpServletRequest request)
Returns the proxy path as absolute path if configured in directory, otherwise an empty string.
|
static java.lang.String |
getServerProxyPath(java.lang.String forwardedHost)
Returns the proxy path as absolute path if configured in directory, otherwise an empty string.
|
static ClientExports |
getSessionClientInterface(java.lang.String sessionId)
Returns the network interface of the client.
|
static java.lang.Object |
getSessionNetId(java.lang.String sessionId)
Returns the session net id for the specified session id.
|
static java.util.List<java.lang.String> |
getSessionsByDeviceId(java.lang.String deviceId)
Returns a list of session ids for the specified device id.
|
private Tuple<java.lang.String,javax.servlet.http.Cookie> |
getValidDeviceId(javax.servlet.http.Cookie[] requestCookies,
java.lang.String user)
Searches through all cookies in the request and returns boolean to indicate if a valid device ID
cookie is found.
|
void |
handle(java.lang.String target,
org.eclipse.jetty.server.Request base,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Handle HTTP requests for common resources (css style, favicon and logo image).
|
protected boolean |
handleSessionFork(WebDriverRequestParameters requestParameters,
SecurityManager sm,
WebDriverType driver,
boolean isSso,
java.lang.String deviceId,
java.util.Map<java.lang.String,java.lang.String> placeholderValuePairs)
Handles HTTP requests that allow forking session and direct spawn of a new client.
|
protected WebDriverHandler.SpawnerResult |
handleSsoAutoLogin(WebDriverRequestParameters requestParameters,
java.lang.String deviceId,
WebDriverType driverType)
Handles HTTP requests that allow SSO auto-login and direct spawn of a new client.
|
protected void |
handleStartClientRequest(org.eclipse.jetty.server.Request base,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
boolean isSso,
WebDriverType driverType)
Handles HTTP requests for spawning a new client.
|
private java.lang.String |
inflateTemplate(java.lang.String line,
java.util.Map<java.lang.String,java.lang.String> placeholderValues)
Replaces placeholders in the text with the provided values.
|
protected static boolean |
isSsoEnabled()
Returns a flag indicating if SSO is enabled.
|
protected java.lang.String |
loadPartial(java.lang.String partialFilename,
java.lang.String customPackageDir,
java.util.Map<java.lang.String,java.lang.String> placeholderValuePairs)
Returns the HTML partial resource as string.
|
private static WebDriverHandler.SsoUsers |
processSsoResult(SsoAuthenticator.Result ssoAuthResult,
SecurityManager sm,
WebDriverHandler.SpawnerResult result)
Processes the successful SSO login result.
|
(package private) static java.lang.String |
resolveForwardedHost(javax.servlet.http.HttpServletRequest request)
Returns the resolved forward host.
|
(package private) void |
sendError(javax.servlet.http.HttpServletResponse response,
WebDriverHandler.SupportedHttpCode httpCode,
java.lang.String spawnError)
Sends the error message to the client.
|
protected void |
serveHtml(javax.servlet.http.HttpServletResponse response,
java.util.Map<java.lang.String,java.lang.String> requestSpecificTemplateValues,
java.lang.String... altPaths)
Loads static resources, inflates templates and serves the content.
|
protected void |
serveStatic(javax.servlet.http.HttpServletResponse response,
java.lang.String mimeType,
java.util.Map<java.lang.String,java.lang.String> placeholderValues,
java.lang.String... altPaths)
Loads static resource, inflates templates and serves the content.
|
protected java.lang.String |
setDeviceId(WebDriverRequestParameters requestParameters,
javax.servlet.http.HttpServletResponse response)
Retrieves the FWD device ID cookie and resets the expiration date.
|
private void |
setDeviceIdCookieAttributes(javax.servlet.http.Cookie deviceIdCookie)
Sets attributes for the device ID cookie
|
private void |
setResponseSuccess(javax.servlet.http.HttpServletResponse response)
Sets status, content type and headers for a successful response.
|
protected WebDriverHandler.SpawnerResult |
spawnWorker(WebDriverRequestParameters requestParameters,
WebDriverSpawnParameters spawnParameters)
Spawn a client with the given account credentials and UI mode.
|
private void |
writeBinaryResponse(javax.servlet.http.HttpServletResponse response,
java.io.InputStream inputStream,
java.lang.String path)
Reads the input stream a few bytes at a time and serves the content.
|
private void |
writeTextResponse(javax.servlet.http.HttpServletResponse response,
java.io.InputStream inputStream,
java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> placeholderValues)
Reads the input stream line by line, replaces placeholders and serves the content.
|
private void |
writeUrlInResponse(java.lang.String remoteUri,
java.lang.String storageId,
javax.servlet.http.HttpServletResponse response,
java.lang.String webClientUuid,
javax.servlet.http.Cookie cookie)
Returns the url to the main application site (the new web session) as response.
|
addHandler, destroy, expandChildren, getHandlers, newHandlers, prependHandler, removeHandler, setHandlers, updateHandlersdoShutdown, expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServerdoError, doStart, doStop, getServeraddBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansaddLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stoppublic static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> CLIENT_UUID_FWD_USERS
public static final boolean ONE_BROWSER_POLICY
private static final java.lang.String CONTEXT_PATH_LOGOUT
static final java.lang.String TARGET_GUI_ROOT
static final java.lang.String TARGET_CHUI_ROOT
static final java.lang.String TARGET_GUI_LOGOUT
static final java.lang.String TARGET_CHUI_LOGOUT
static final java.lang.String TARGET_EMBEDDED
static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> CLIENT_UUID_AUTHBLOB_PAIRS
static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> CLIENT_UUID_SESS_DESCR_PAIRS
static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> CLIENT_UUID_RELATED_SESSION_ID_PAIRS
static final java.util.concurrent.ConcurrentMap<java.lang.String,java.lang.String> CLIENT_UUID_DEVICEID_PAIRS
static final java.util.concurrent.ConcurrentMap<java.lang.String,java.util.Map<java.lang.String,java.lang.String[]>> CLIENT_UUID_LOGIN_PARAMS
static final java.util.Map<WebDriverType,WebClientBuilderOptions> driverOptionsMap
protected static final java.util.Map<java.lang.String,java.lang.String> PLACEHOLDER_VALUE_PAIRS
protected static final java.lang.String PLACEHOLDER_TITLE
protected static final java.lang.String AUTO_LOGIN_DATA
protected static final java.lang.String PLACEHOLDER_HTML_TEMPLATE
protected static final java.lang.String PLACEHOLDER_PROXY_PATH
protected static final java.lang.String PKG_ROOT
protected static final java.lang.String PAGE_TITLE_LOGIN
protected static final java.lang.String PAGE_TITLE_LOGOUT
protected static final boolean REMOVE_PROXY_PATH_IN_WEB_PAGES
TARGET_GUI_ROOT and
TARGET_CHUI_ROOT directly to the proxy path. In this case
directory webClient configs 'serverProxyPath' and 'guiIdentifier' / 'chuiIdentifier' should be the same.protected static final SessionlessTranslationManager TRANSLATION_MANAGER
static final java.lang.String PKG_RES_DIR
private static final java.lang.String PROXY_PATH
private static final java.lang.String TARGET_BASE_RES
private static final java.util.Map<java.lang.String,java.lang.String> FILE_EXT_MIME_TYPE_PAIRS
private static final java.lang.String FORWARDED_HOST_CONFIG
private static final java.lang.String FORWARDED_PROTO_CONFIG
private static final java.lang.String DEVICE_ID_COOKIE_NAME
private static final java.lang.String DEVICE_ID_COOKIE_DIVIDER
private static final InitTermListener SESSION_LISTENER
private static final java.util.Map<java.lang.String,java.util.List<java.lang.String>> deviceIdSessionIdPairs
private static final java.util.Map<java.lang.String,java.lang.Object> sessionIdNetIdPairs
private static final java.util.Map<java.lang.String,java.lang.ref.WeakReference<ClientExports>> sessionIdClientPairs
private static final java.util.Map<java.lang.String,java.util.regex.Pattern> expectedLoginParamNameRegex
private static final CentralLogger LOG
private static final int SECURE_PORT
private static final java.lang.String SERVER_ALIAS
private static final boolean OS_USER_OVERRIDE
DEFAULT_OS_USER.private static final java.lang.String DEFAULT_OS_USER
private static DigitalSignature digitalSignature
private final java.util.List<java.lang.String> firstWebOverrides
private final java.util.List<java.lang.String> baseDirWebOverrides
private final java.util.List<java.lang.String> lastWebOverrides
WebDriverHandler(java.lang.String firstOption,
java.lang.String lastOption)
firstOption - An additional option to be added at the start of the options. Can be overwritten.lastOption - An additional option to be added at the end of the options. Should not be overwritten.public static java.util.List<java.lang.String> getSessionsByDeviceId(java.lang.String deviceId)
deviceId - The device id.public static java.lang.Object getSessionNetId(java.lang.String sessionId)
sessionId - The session id (as in the session handle).public static ClientExports getSessionClientInterface(java.lang.String sessionId)
sessionId - The session id (as in the session handle).public static java.lang.String getServerProxyPath(javax.servlet.http.HttpServletRequest request)
request - The HTTP request.public static java.lang.String getServerProxyPath(java.lang.String forwardedHost)
forwardedHost - The proxy address.public static java.util.Map<java.lang.String,java.lang.String[]> filterOutValidLoginParams(java.util.Map<java.lang.String,java.lang.String[]> loginParams)
loginParams - The map of name : values for the params sent by the login request.public void handle(java.lang.String target,
org.eclipse.jetty.server.Request base,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
handle in interface org.eclipse.jetty.server.Handlerhandle in class org.eclipse.jetty.server.handler.HandlerCollectiontarget - The target of the request - either a URI or a name.base - The HTTP request, Jetty style.request - The HTTP request.response - The HTTP response.protected void handleStartClientRequest(org.eclipse.jetty.server.Request base,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
boolean isSso,
WebDriverType driverType)
base - The HTTP request, Jetty style.request - The HTTP request.response - The HTTP response.isSso - Flag indicating if SSO is enabled.driverType - The type of web client - GUI / CHUI / embedded.protected java.lang.String setDeviceId(WebDriverRequestParameters requestParameters, javax.servlet.http.HttpServletResponse response)
requestParameters - Holds HTTP derived parameters - headers, cookies, form params.response - The HTTP response.protected WebDriverHandler.SpawnerResult spawnWorker(WebDriverRequestParameters requestParameters, WebDriverSpawnParameters spawnParameters)
requestParameters - Holds HTTP derived parameters - headers, cookies, form params.spawnParameters - Holds additional parameters required for the spawn process.null and the return code will describe the error.protected WebDriverHandler.SpawnerResult handleSsoAutoLogin(WebDriverRequestParameters requestParameters, java.lang.String deviceId, WebDriverType driverType)
requestParameters - Holds HTTP derived parameters - headers, cookies, form params.deviceId - The device ID.driverType - The type of web client - GUI / CHUI / embedded.protected boolean handleSessionFork(WebDriverRequestParameters requestParameters, SecurityManager sm, WebDriverType driver, boolean isSso, java.lang.String deviceId, java.util.Map<java.lang.String,java.lang.String> placeholderValuePairs)
requestParameters - Holds HTTP derived parameters - headers, cookies, form params.sm - SecurityManagerdriver - The UI driver typeisSso - Flag indicating if SSO is enableddeviceId - The device IDplaceholderValuePairs - Map with template placeholder : value pairsprotected void serveHtml(javax.servlet.http.HttpServletResponse response,
java.util.Map<java.lang.String,java.lang.String> requestSpecificTemplateValues,
java.lang.String... altPaths)
response - The HTTP response.requestSpecificTemplateValues - The template placeholder values.altPaths - The target resource paths within the classpath.protected void serveStatic(javax.servlet.http.HttpServletResponse response,
java.lang.String mimeType,
java.util.Map<java.lang.String,java.lang.String> placeholderValues,
java.lang.String... altPaths)
response - The HTTP response.mimeType - The mime type.placeholderValues - The template placeholder values.altPaths - The target resource paths within the classpath.private void writeTextResponse(javax.servlet.http.HttpServletResponse response,
java.io.InputStream inputStream,
java.lang.String path,
java.util.Map<java.lang.String,java.lang.String> placeholderValues)
response - The HTTP response.inputStream - The text file input stream.path - The text resource file path.placeholderValues - The template placeholder values.private void writeBinaryResponse(javax.servlet.http.HttpServletResponse response,
java.io.InputStream inputStream,
java.lang.String path)
response - The HTTP response.inputStream - The text file input stream.path - The text resource file path.protected java.lang.String loadPartial(java.lang.String partialFilename,
java.lang.String customPackageDir,
java.util.Map<java.lang.String,java.lang.String> placeholderValuePairs)
partialFilename - The name of the filecustomPackageDir - The dir in the custom packageprotected java.lang.String getResPathCurrentDir(java.lang.String fileName)
fileName - The name of the fileprivate java.lang.String inflateTemplate(java.lang.String line,
java.util.Map<java.lang.String,java.lang.String> placeholderValues)
line - The text to be updated.placeholderValues - The map with placeholder name : value pairs.private static WebDriverHandler.SsoUsers processSsoResult(SsoAuthenticator.Result ssoAuthResult, SecurityManager sm, WebDriverHandler.SpawnerResult result)
ssoAuthResult - The result of the SSO authentication.sm - The SecurityManager.result - The result from the new client spawn.static WebDriverRequestParameters getRequestParameters(org.eclipse.jetty.server.Request base, javax.servlet.http.HttpServletRequest request)
base - The HTTP request. Jetty style.request - The HTTP servlet requeststatic java.lang.String resolveForwardedHost(javax.servlet.http.HttpServletRequest request)
request - The HTTP servlet requestprivate void setResponseSuccess(javax.servlet.http.HttpServletResponse response)
response - The HTTP response.void sendError(javax.servlet.http.HttpServletResponse response,
WebDriverHandler.SupportedHttpCode httpCode,
java.lang.String spawnError)
httpCode - The http code to return to the client.response - The http response.private void writeUrlInResponse(java.lang.String remoteUri,
java.lang.String storageId,
javax.servlet.http.HttpServletResponse response,
java.lang.String webClientUuid,
javax.servlet.http.Cookie cookie)
remoteUri - The redirect url provided with the authorization parameter.storageId - The storage ID.response - The HTTP response.webClientUuid - The just spawned web client uuid.cookie - The cookie to be attached to the response.private static java.util.List<java.lang.String> addThemeToOptions(java.lang.String selectedTheme)
selectedTheme - The theme from the HTTP request parameters.private static java.util.List<java.lang.String> addUrlsToOptions(java.util.List<java.lang.String> options,
WebDriverRequestParameters requestParameters,
WebDriverType driverType)
options - The current client options.requestParameters - The web request details fetched from the servlet request.driverType - The type of web client - GUI / CHUI / embedded.protected static boolean isSsoEnabled()
true if SSO enabled, false otherwise.private Tuple<java.lang.String,javax.servlet.http.Cookie> getValidDeviceId(javax.servlet.http.Cookie[] requestCookies, java.lang.String user)
requestCookies - Array of all cookies in the request.user - The name of the user trying to log in.private Tuple<java.lang.String,javax.servlet.http.Cookie> generateDeviceId()
private void setDeviceIdCookieAttributes(javax.servlet.http.Cookie deviceIdCookie)
deviceIdCookie - The device id cookie.