KEYCLOAK-7751 Auth welcome page
|
@ -18,6 +18,7 @@ package org.keycloak.services.resources;
|
|||
|
||||
import org.jboss.logging.Logger;
|
||||
import org.keycloak.common.ClientConnection;
|
||||
import org.keycloak.common.Version;
|
||||
import org.keycloak.common.util.Base64Url;
|
||||
import org.keycloak.common.util.MimeTypeUtil;
|
||||
import org.keycloak.models.BrowserSecurityHeaders;
|
||||
|
@ -25,6 +26,7 @@ import org.keycloak.models.KeycloakSession;
|
|||
import org.keycloak.models.utils.KeycloakModelUtils;
|
||||
import org.keycloak.services.ForbiddenException;
|
||||
import org.keycloak.services.ServicesLogger;
|
||||
import org.keycloak.services.Urls;
|
||||
import org.keycloak.services.managers.ApplianceBootstrap;
|
||||
import org.keycloak.services.util.CacheControlUtil;
|
||||
import org.keycloak.services.util.CookieHelper;
|
||||
|
@ -171,8 +173,19 @@ public class WelcomeResource {
|
|||
|
||||
private Response createWelcomePage(String successMessage, String errorMessage) {
|
||||
try {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("bootstrap", bootstrap);
|
||||
Theme theme = getTheme();
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
||||
map.put("productName", Version.NAME);
|
||||
|
||||
map.put("properties", theme.getProperties());
|
||||
|
||||
URI uri = Urls.themeRoot(session.getContext().getUri().getBaseUri());
|
||||
String resourcesPath = uri.getPath() + "/" + theme.getType().toString().toLowerCase() +"/" + theme.getName();
|
||||
map.put("resourcesPath", resourcesPath);
|
||||
|
||||
map.put("bootstrap", bootstrap);
|
||||
if (bootstrap) {
|
||||
boolean isLocal = isLocal();
|
||||
map.put("localUser", isLocal);
|
||||
|
@ -189,7 +202,7 @@ public class WelcomeResource {
|
|||
map.put("errorMessage", errorMessage);
|
||||
}
|
||||
FreeMarkerUtil freeMarkerUtil = new FreeMarkerUtil();
|
||||
String result = freeMarkerUtil.processTemplate(map, "index.ftl", getTheme());
|
||||
String result = freeMarkerUtil.processTemplate(map, "index.ftl", theme);
|
||||
|
||||
ResponseBuilder rb = Response.status(errorMessage == null ? Status.OK : Status.BAD_REQUEST)
|
||||
.entity(result)
|
||||
|
|
|
@ -1,135 +0,0 @@
|
|||
<!--
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright (c) 2011, Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags. See the copyright.txt file in the
|
||||
~ distribution for a full listing of individual contributors.
|
||||
~
|
||||
~ This is free software; you can redistribute it and/or modify it
|
||||
~ under the terms of the GNU Lesser General Public License as
|
||||
~ published by the Free Software Foundation; either version 2.1 of
|
||||
~ the License, or (at your option) any later version.
|
||||
~
|
||||
~ This software is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
~ Lesser General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU Lesser General Public
|
||||
~ License along with this software; if not, write to the Free
|
||||
~ 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">
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Red Hat Single Sign-On</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
|
||||
<link rel="shortcut icon" href="welcome-content/favicon.ico" type="image/x-icon">
|
||||
<link rel="StyleSheet" href="welcome-content/keycloak.css" type="text/css">
|
||||
<style>
|
||||
label {
|
||||
display: inline-block;
|
||||
width: 200px;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-left: 215px;
|
||||
}
|
||||
|
||||
form {
|
||||
background-color: #eee;
|
||||
border: 1px solid #666;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: #a30000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="container" style="position: absolute; left: 0px; top: 0px; right: 0px; bottom: 0px;">
|
||||
|
||||
<!-- header -->
|
||||
<div class="header-panel">
|
||||
<div class="header-line"> </div>
|
||||
<div class="header-top">
|
||||
<div class="prod-title">
|
||||
<img class="prod-img" alt="Red Hat® Single Sign-On" src="welcome-content/brand.svg"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-bottom"> </div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- main content -->
|
||||
<div id="content">
|
||||
|
||||
<div class="section">
|
||||
|
||||
<h1>Welcome to Red Hat Single Sign-On</h1>
|
||||
|
||||
<h3>Your Red Hat Single Sign-On is running.</h3>
|
||||
|
||||
<#if successMessage?has_content>
|
||||
<p>${successMessage}</p>
|
||||
<#elseif errorMessage?has_content>
|
||||
<p class="error">${errorMessage}</p>
|
||||
<#elseif bootstrap>
|
||||
<#if localUser>
|
||||
<p>Please create an initial admin user to get started.</p>
|
||||
<#else>
|
||||
<p>
|
||||
You need local access to create the initial admin user. Open <a href="http://localhost:8080/auth">http://localhost:8080/auth</a>
|
||||
or use the add-user-keycloak script.
|
||||
</p>
|
||||
</#if>
|
||||
</#if>
|
||||
|
||||
<#if bootstrap && localUser>
|
||||
<form method="post">
|
||||
<p>
|
||||
<label for="username">Username</label>
|
||||
<input id="username" name="username" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" type="password" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="passwordConfirmation">Password confirmation</label>
|
||||
<input id="passwordConfirmation" name="passwordConfirmation" type="password" />
|
||||
</p>
|
||||
|
||||
<input id="stateChecker" name="stateChecker" type="hidden" value="${stateChecker}" />
|
||||
|
||||
<button id="create-button" type="submit">Create</button>
|
||||
</form>
|
||||
</#if>
|
||||
|
||||
<p>
|
||||
<a href="admin/">Administration Console</a> |
|
||||
<a href="https://access.redhat.com/documentation/en/red-hat-single-sign-on/">Documentation</a>
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div id="footer"> </div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 3.3 KiB |
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 223.4 12.5" style="enable-background:new 0 0 223.4 12.5;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#FFFFFF;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M6.5,12.3l-2-4H3.2v4H0V0.3h5.3c0.7,0,1.3,0.1,1.9,0.2c0.6,0.1,1.1,0.4,1.5,0.7c0.4,0.3,0.7,0.7,0.9,1.2
|
||||
C9.9,2.9,10,3.5,10,4.2c0,0.9-0.2,1.6-0.6,2.2C9,7,8.5,7.4,7.8,7.7l2.4,4.6H6.5z M6.4,3.4C6.1,3.1,5.8,3,5.2,3h-2v2.6h2
|
||||
c0.5,0,0.9-0.1,1.2-0.3c0.2-0.2,0.3-0.6,0.3-1C6.7,3.9,6.6,3.6,6.4,3.4z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M12.2,12.3V0.3h9.1v2.8h-5.9v1.6H19v2.7h-3.5v2h6v2.8H12.2z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M33.5,9.1c-0.3,0.8-0.7,1.4-1.2,1.9c-0.5,0.5-1.2,0.8-2,1c-0.8,0.2-1.7,0.3-2.8,0.3h-3.9V0.3h4.2
|
||||
c0.9,0,1.8,0.1,2.5,0.3c0.8,0.2,1.4,0.5,1.9,1c0.5,0.5,0.9,1.1,1.2,1.8c0.3,0.7,0.4,1.7,0.4,2.8C33.9,7.3,33.8,8.3,33.5,9.1z
|
||||
M30.4,4.9c-0.1-0.4-0.3-0.7-0.5-1c-0.2-0.2-0.5-0.4-0.9-0.6c-0.4-0.1-0.8-0.2-1.3-0.2h-0.8v6.3h0.7c0.5,0,1-0.1,1.3-0.2
|
||||
c0.4-0.1,0.7-0.3,0.9-0.5c0.2-0.2,0.4-0.6,0.5-1c0.1-0.4,0.2-0.9,0.2-1.5C30.5,5.7,30.5,5.3,30.4,4.9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M48,12.3V7.6h-3.7v4.7h-3.4V0.3h3.4v4.4H48V0.3h3.4v11.9H48z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M61.5,12.3l-0.6-2.1h-3.6l-0.6,2.1h-3.5l4.3-11.9h3.3l4.3,11.9H61.5z M59.8,6.7c-0.1-0.4-0.2-0.7-0.3-1
|
||||
c-0.1-0.3-0.2-0.5-0.2-0.8c-0.1-0.2-0.1-0.4-0.2-0.6c0-0.2-0.1-0.4-0.1-0.6C59,4,59,4.2,58.9,4.4c0,0.2-0.1,0.4-0.2,0.6
|
||||
c-0.1,0.2-0.1,0.5-0.2,0.8c-0.1,0.3-0.2,0.6-0.3,1l-0.2,0.8h2L59.8,6.7z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M71.3,3.2v9.1H68V3.2h-3.3V0.3h10v2.9H71.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M78.6,2c-0.1,0.1-0.1,0.3-0.3,0.4c-0.1,0.1-0.2,0.2-0.4,0.3c-0.1,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.3,0-0.5-0.1
|
||||
c-0.1-0.1-0.3-0.1-0.4-0.3c-0.1-0.1-0.2-0.2-0.3-0.4c-0.1-0.1-0.1-0.3-0.1-0.5c0-0.2,0-0.3,0.1-0.5c0.1-0.1,0.1-0.3,0.3-0.4
|
||||
c0.1-0.1,0.2-0.2,0.4-0.3c0.1-0.1,0.3-0.1,0.5-0.1c0.2,0,0.3,0,0.5,0.1c0.1,0.1,0.3,0.1,0.4,0.3c0.1,0.1,0.2,0.2,0.3,0.4
|
||||
c0.1,0.1,0.1,0.3,0.1,0.5C78.7,1.7,78.6,1.8,78.6,2z M78.4,1.1c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.2-0.2-0.3-0.2
|
||||
c-0.1-0.1-0.3-0.1-0.4-0.1c-0.1,0-0.3,0-0.4,0.1c-0.1,0.1-0.2,0.1-0.3,0.2c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.1-0.1,0.3-0.1,0.4
|
||||
c0,0.1,0,0.3,0.1,0.4s0.1,0.2,0.2,0.3c0.1,0.1,0.2,0.2,0.3,0.2c0.1,0,0.3,0.1,0.4,0.1c0.1,0,0.3,0,0.4-0.1
|
||||
c0.1-0.1,0.2-0.1,0.3-0.2c0.1-0.1,0.2-0.2,0.2-0.3c0.1-0.1,0.1-0.3,0.1-0.4C78.5,1.4,78.4,1.2,78.4,1.1z M77.9,1.5
|
||||
c-0.1,0.1-0.1,0.1-0.2,0.1L78,2.1h-0.3l-0.3-0.5h-0.3v0.5H77V0.8h0.6c0.1,0,0.1,0,0.2,0c0.1,0,0.1,0,0.1,0.1C77.9,1,77.9,1,78,1
|
||||
c0,0,0,0.1,0,0.2C78,1.3,78,1.4,77.9,1.5z M77.7,1.1c0,0-0.1,0-0.1,0h-0.3v0.4h0.3c0.1,0,0.1,0,0.1,0c0,0,0.1-0.1,0.1-0.1
|
||||
C77.8,1.2,77.8,1.1,77.7,1.1z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M91.4,10.2c-0.2,0.5-0.5,0.9-0.9,1.2S89.6,12,89,12.2c-0.6,0.2-1.3,0.3-2.1,0.3c-1,0-1.9-0.2-2.8-0.6
|
||||
c-0.8-0.4-1.5-0.9-1.9-1.6l1.7-1.6c0.4,0.5,0.9,0.8,1.4,1.1s1.1,0.3,1.7,0.3c0.7,0,1.3-0.1,1.6-0.3s0.5-0.5,0.5-1
|
||||
c0-0.2,0-0.4-0.1-0.5C89,8.1,88.8,8,88.6,7.9c-0.2-0.1-0.5-0.2-0.8-0.4c-0.4-0.1-0.8-0.2-1.4-0.4c-0.6-0.1-1.1-0.3-1.5-0.4
|
||||
C84.4,6.5,84,6.3,83.7,6c-0.3-0.3-0.6-0.6-0.8-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1,0.3-1.5c0.2-0.4,0.5-0.8,0.9-1.1
|
||||
c0.4-0.3,0.8-0.5,1.4-0.7C85.8,0.1,86.4,0,87,0c0.9,0,1.8,0.2,2.5,0.5c0.7,0.3,1.3,0.8,1.9,1.4l-1.7,1.7c-0.4-0.4-0.8-0.7-1.3-0.9
|
||||
s-0.9-0.3-1.5-0.3c-0.3,0-0.6,0-0.8,0.1c-0.2,0.1-0.4,0.1-0.5,0.2s-0.2,0.2-0.3,0.3c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.2,0,0.4,0.1,0.5
|
||||
c0.1,0.1,0.2,0.2,0.4,0.4c0.2,0.1,0.4,0.2,0.7,0.3c0.3,0.1,0.7,0.2,1.2,0.3c0.5,0.1,1,0.2,1.4,0.4c0.5,0.2,0.9,0.4,1.3,0.6
|
||||
C90.7,6.2,91,6.6,91.3,7c0.2,0.4,0.4,1,0.4,1.6C91.6,9.2,91.5,9.7,91.4,10.2z"/>
|
||||
<path class="st0" d="M94.4,12.3V0.2h2.4v12.1H94.4z"/>
|
||||
<path class="st0" d="M107.7,12.3l-4.4-6.6c-0.1-0.2-0.3-0.5-0.5-0.7c-0.2-0.3-0.3-0.5-0.4-0.6c0,0.1,0,0.3,0,0.5
|
||||
c0,0.2,0,0.5,0,0.7c0,0.3,0,0.5,0,0.8c0,0.3,0,0.5,0,0.6v5.3h-2.4V0.2h2.3l4.3,6.4c0.1,0.2,0.3,0.5,0.5,0.7
|
||||
c0.2,0.3,0.3,0.5,0.4,0.6c0-0.1,0-0.3,0-0.5c0-0.2,0-0.5,0-0.7c0-0.3,0-0.5,0-0.8c0-0.3,0-0.5,0-0.6V0.2h2.4v12.1H107.7z"/>
|
||||
<path class="st0" d="M122.1,9.7c-0.2,0.6-0.6,1.1-1,1.5c-0.4,0.4-0.9,0.7-1.5,0.9c-0.6,0.2-1.2,0.3-1.9,0.3
|
||||
c-0.8,0-1.5-0.1-2.2-0.4c-0.6-0.3-1.2-0.7-1.7-1.3c-0.5-0.5-0.8-1.2-1.1-2c-0.3-0.8-0.4-1.6-0.4-2.6c0-0.9,0.1-1.8,0.4-2.5
|
||||
c0.3-0.8,0.6-1.4,1.1-2s1-1,1.7-1.3c0.7-0.3,1.4-0.5,2.2-0.5c0.6,0,1.2,0.1,1.6,0.2c0.5,0.1,0.9,0.3,1.3,0.6s0.7,0.6,1,1
|
||||
c0.3,0.4,0.5,0.8,0.7,1.3L120,4c-0.1-0.2-0.2-0.4-0.4-0.6s-0.3-0.4-0.5-0.5c-0.2-0.1-0.4-0.2-0.6-0.3c-0.2-0.1-0.5-0.1-0.8-0.1
|
||||
c-0.4,0-0.9,0.1-1.2,0.3c-0.4,0.2-0.7,0.5-0.9,0.8s-0.4,0.7-0.6,1.2c-0.1,0.5-0.2,1-0.2,1.5c0,0.6,0.1,1.1,0.2,1.5
|
||||
c0.1,0.5,0.3,0.9,0.6,1.2c0.2,0.3,0.5,0.6,0.9,0.8c0.4,0.2,0.8,0.3,1.2,0.3c0.4,0,0.8,0,1.1-0.1c0.3-0.1,0.5-0.2,0.7-0.4
|
||||
c0.2-0.2,0.3-0.4,0.4-0.6s0.2-0.5,0.2-0.7h-1.9V6h4.3v1.6C122.4,8.4,122.3,9.1,122.1,9.7z"/>
|
||||
<path class="st0" d="M125,12.3V0.2h2.4v9.7h6.1v2.4H125z"/>
|
||||
<path class="st0" d="M135.7,12.3V0.2h8.4v2.4h-6v2.1h3.5V7h-3.5v2.9h6.2v2.4H135.7z"/>
|
||||
<path class="st0" d="M160.5,10.2c-0.2,0.5-0.5,0.9-0.9,1.2s-0.9,0.6-1.5,0.8c-0.6,0.2-1.3,0.3-2.1,0.3c-1,0-1.9-0.2-2.8-0.6
|
||||
s-1.5-0.9-1.9-1.6l1.7-1.6c0.4,0.5,0.9,0.8,1.4,1.1s1.1,0.3,1.7,0.3c0.7,0,1.3-0.1,1.6-0.3c0.3-0.2,0.5-0.5,0.5-1
|
||||
c0-0.2,0-0.4-0.1-0.5c-0.1-0.1-0.2-0.3-0.4-0.4c-0.2-0.1-0.5-0.2-0.8-0.4c-0.4-0.1-0.8-0.2-1.4-0.4C155,7,154.5,6.9,154,6.7
|
||||
c-0.5-0.2-0.9-0.4-1.2-0.7c-0.3-0.3-0.6-0.6-0.8-1c-0.2-0.4-0.3-0.9-0.3-1.5c0-0.6,0.1-1,0.3-1.5c0.2-0.4,0.5-0.8,0.9-1.1
|
||||
c0.4-0.3,0.8-0.5,1.4-0.7c0.5-0.2,1.1-0.2,1.7-0.2c0.9,0,1.8,0.2,2.5,0.5c0.7,0.3,1.3,0.8,1.9,1.4l-1.7,1.7
|
||||
c-0.4-0.4-0.8-0.7-1.3-0.9s-0.9-0.3-1.5-0.3c-0.3,0-0.6,0-0.8,0.1c-0.2,0.1-0.4,0.1-0.5,0.2s-0.2,0.2-0.3,0.3
|
||||
c-0.1,0.1-0.1,0.3-0.1,0.4c0,0.2,0,0.4,0.1,0.5c0.1,0.1,0.2,0.2,0.4,0.4c0.2,0.1,0.4,0.2,0.7,0.3c0.3,0.1,0.7,0.2,1.2,0.3
|
||||
c0.5,0.1,1,0.2,1.4,0.4c0.5,0.2,0.9,0.4,1.3,0.6c0.4,0.3,0.7,0.6,0.9,1.1c0.2,0.4,0.4,1,0.4,1.6C160.8,9.2,160.7,9.7,160.5,10.2z"
|
||||
/>
|
||||
<path class="st0" d="M163.5,12.3V0.2h2.4v12.1H163.5z"/>
|
||||
<path class="st0" d="M178.3,9.7c-0.2,0.6-0.6,1.1-1,1.5c-0.4,0.4-0.9,0.7-1.5,0.9c-0.6,0.2-1.2,0.3-1.9,0.3
|
||||
c-0.8,0-1.5-0.1-2.2-0.4s-1.2-0.7-1.7-1.3c-0.5-0.5-0.8-1.2-1.1-2c-0.3-0.8-0.4-1.6-0.4-2.6c0-0.9,0.1-1.8,0.4-2.5
|
||||
c0.3-0.8,0.6-1.4,1.1-2s1-1,1.7-1.3c0.7-0.3,1.4-0.5,2.2-0.5c0.6,0,1.2,0.1,1.6,0.2c0.5,0.1,0.9,0.3,1.3,0.6c0.4,0.3,0.7,0.6,1,1
|
||||
s0.5,0.8,0.7,1.3L176.2,4c-0.1-0.2-0.2-0.4-0.4-0.6c-0.1-0.2-0.3-0.4-0.5-0.5c-0.2-0.1-0.4-0.2-0.6-0.3c-0.2-0.1-0.5-0.1-0.8-0.1
|
||||
c-0.4,0-0.9,0.1-1.2,0.3c-0.4,0.2-0.7,0.5-0.9,0.8c-0.2,0.3-0.4,0.7-0.6,1.2c-0.1,0.5-0.2,1-0.2,1.5c0,0.6,0.1,1.1,0.2,1.5
|
||||
c0.1,0.5,0.3,0.9,0.6,1.2c0.2,0.3,0.5,0.6,0.9,0.8c0.4,0.2,0.8,0.3,1.2,0.3c0.4,0,0.8,0,1.1-0.1c0.3-0.1,0.5-0.2,0.7-0.4
|
||||
c0.2-0.2,0.3-0.4,0.4-0.6s0.2-0.5,0.2-0.7h-1.9V6h4.3v1.6C178.7,8.4,178.6,9.1,178.3,9.7z"/>
|
||||
<path class="st0" d="M188.9,12.3l-4.4-6.6c-0.2-0.2-0.3-0.5-0.5-0.7c-0.2-0.3-0.3-0.5-0.4-0.6c0,0.1,0,0.3,0,0.5
|
||||
c0,0.2,0,0.5,0,0.7c0,0.3,0,0.5,0,0.8c0,0.3,0,0.5,0,0.6v5.3h-2.4V0.2h2.3l4.3,6.4c0.1,0.2,0.3,0.5,0.5,0.7
|
||||
c0.2,0.3,0.3,0.5,0.4,0.6c0-0.1,0-0.3,0-0.5c0-0.2,0-0.5,0-0.7c0-0.3,0-0.5,0-0.8c0-0.3,0-0.5,0-0.6V0.2h2.4v12.1H188.9z"/>
|
||||
<path class="st0" d="M193.6,7.2V4.8h5v2.4H193.6z"/>
|
||||
<path class="st0" d="M210.7,8.8c-0.3,0.8-0.6,1.4-1.1,2c-0.5,0.5-1,0.9-1.7,1.2c-0.7,0.3-1.4,0.4-2.2,0.4c-0.8,0-1.5-0.1-2.2-0.4
|
||||
s-1.2-0.7-1.7-1.2c-0.5-0.5-0.8-1.2-1.1-2c-0.3-0.8-0.4-1.6-0.4-2.6s0.1-1.9,0.4-2.6c0.3-0.8,0.6-1.4,1.1-2c0.5-0.5,1-0.9,1.7-1.2
|
||||
c0.7-0.3,1.4-0.4,2.2-0.4c0.8,0,1.5,0.1,2.1,0.4s1.2,0.7,1.7,1.2c0.5,0.5,0.8,1.2,1.1,2c0.3,0.8,0.4,1.6,0.4,2.6
|
||||
S211,8.1,210.7,8.8z M207.9,3.4c-0.5-0.7-1.2-1-2.1-1s-1.5,0.3-2,1S203,5,203,6.2c0,1.2,0.3,2.2,0.8,2.8c0.5,0.7,1.2,1,2.1,1
|
||||
s1.5-0.3,2-1s0.8-1.6,0.8-2.8S208.4,4.1,207.9,3.4z"/>
|
||||
<path class="st0" d="M221.2,12.3l-4.4-6.6c-0.2-0.2-0.3-0.5-0.5-0.7c-0.2-0.3-0.3-0.5-0.4-0.6c0,0.1,0,0.3,0,0.5
|
||||
c0,0.2,0,0.5,0,0.7c0,0.3,0,0.5,0,0.8c0,0.3,0,0.5,0,0.6v5.3h-2.4V0.2h2.3l4.3,6.4c0.1,0.2,0.3,0.5,0.5,0.7
|
||||
c0.2,0.3,0.3,0.5,0.4,0.6c0-0.1,0-0.3,0-0.5c0-0.2,0-0.5,0-0.7c0-0.3,0-0.5,0-0.8c0-0.3,0-0.5,0-0.6V0.2h2.4v12.1H221.2z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 8.2 KiB |
|
@ -0,0 +1,12 @@
|
|||
body {
|
||||
background-image: url(../bg.png),url(../bg-login.png);
|
||||
background-repeat: no-repeat,no-repeat;
|
||||
background-position: right bottom, left top;
|
||||
background-size: auto, auto;
|
||||
background-color: #1a1a1a;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.welcome-header {
|
||||
color: #fff;
|
||||
}
|
|
@ -1,172 +0,0 @@
|
|||
/*
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright (c) 2011, Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags. See the copyright.txt file in the
|
||||
~ distribution for a full listing of individual contributors.
|
||||
~
|
||||
~ This is free software; you can redistribute it and/or modify it
|
||||
~ under the terms of the GNU Lesser General Public License as
|
||||
~ published by the Free Software Foundation; either version 2.1 of
|
||||
~ the License, or (at your option) any later version.
|
||||
~
|
||||
~ This software is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
~ Lesser General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU Lesser General Public
|
||||
~ License along with this software; if not, write to the Free
|
||||
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
||||
*/
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: local('Open Sans Light'), local('OpenSans-Light'), url(OpenSans-Light.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Open Sans'), local('OpenSans'), url(OpenSans-Regular.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(OpenSans-Semibold.ttf) format('truetype');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
src: local('Open Sans Bold'), local('OpenSans-Bold'), url(OpenSans-Bold.ttf) format('truetype');
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: #ECECEC;
|
||||
color: #4E5255;
|
||||
font: 12px/1.4 "Open Sans","Lucida Sans Unicode","Lucida Grande",sans-serif;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#container {
|
||||
background: none repeat scroll 0 0 #FFFFFF;
|
||||
border-left: 1px solid #CECECE;
|
||||
border-right: 1px solid #CECECE;
|
||||
box-shadow: 6px 6px 6px #E3E3E3, -6px 6px 6px #E3E3E3, 6px -6px 6px #E3E3E3, -6px -6px 6px #E3E3E3;
|
||||
margin: 0 auto;
|
||||
min-width: 1003px;
|
||||
width: 1003px;
|
||||
}
|
||||
|
||||
#content {
|
||||
background-color: #ffffff;
|
||||
margin-top: 4px;
|
||||
height: 100%;
|
||||
}
|
||||
#content sub{
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
#footer {
|
||||
background-color: #F1F1F1;
|
||||
border-top: 1px solid #CFCFCF;
|
||||
height: 42px;
|
||||
min-height: 42px;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.section {
|
||||
margin-left: 170px;
|
||||
margin-right: 170px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #009ADA;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:active {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
a:link {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
H1 {
|
||||
color: #656565;
|
||||
font-size: 20px;
|
||||
font-weight: 300 !important;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
H2 {
|
||||
color: #656565;
|
||||
font-size: 14px;
|
||||
font-weight: 300 !important;
|
||||
}
|
||||
|
||||
sub {
|
||||
color: #a3a7aa;
|
||||
}
|
||||
|
||||
.prod-title {
|
||||
position: relative;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
height: 11px;
|
||||
}
|
||||
|
||||
.prod-img {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.WarnBlock {
|
||||
color: #000000;
|
||||
padding: 15px;
|
||||
background-color: #FFD272;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.header-top {
|
||||
background-color: #383F45;
|
||||
border-bottom: 1px solid #53565B;
|
||||
height:32px;
|
||||
max-height:32px;
|
||||
padding-left:15px;
|
||||
}
|
||||
|
||||
.header-bottom {
|
||||
background-color: #46494E;
|
||||
border-bottom: 1px solid #272A2F;
|
||||
height:43px;
|
||||
max-height:43px;
|
||||
}
|
||||
|
||||
.header-line {
|
||||
background-color: #C82E2E;
|
||||
border-bottom: 1px solid #272A2F;
|
||||
max-height:3px;
|
||||
height:3px;
|
||||
}
|
||||
|
||||
.header-panel {
|
||||
height: 80px;
|
||||
min-height: 80px;
|
||||
width: 100%;
|
||||
}
|
||||
|
After Width: | Height: | Size: 8.2 KiB |
|
@ -0,0 +1,7 @@
|
|||
parent=keycloak
|
||||
import=common/rh-sso
|
||||
|
||||
styles=node_modules/rcue/dist/css/rcue.min.css node_modules/rcue/dist/css/rcue-additions.min.css css/welcome.css css/welcome-rhsso.css
|
||||
|
||||
documentationUrl=https://access.redhat.com/documentation/en/red-hat-single-sign-on/
|
||||
displayCommunityLinks=false
|
|
@ -20,94 +20,113 @@
|
|||
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
||||
-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Welcome to Keycloak</title>
|
||||
<title>Welcome to ${productName}</title>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
|
||||
<link rel="shortcut icon" href="welcome-content/favicon.ico" type="image/x-icon">
|
||||
<link rel="StyleSheet" href="welcome-content/keycloak.css" type="text/css">
|
||||
<style>
|
||||
label {
|
||||
display: inline-block;
|
||||
width: 200px;
|
||||
text-align: right;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
button {
|
||||
margin-left: 215px;
|
||||
}
|
||||
|
||||
form {
|
||||
background-color: #eee;
|
||||
border: 1px solid #666;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: #a30000;
|
||||
}
|
||||
</style>
|
||||
<#if properties.styles?has_content>
|
||||
<#list properties.styles?split(' ') as style>
|
||||
<link href="${resourcesPath}/${style}" rel="stylesheet" />
|
||||
</#list>
|
||||
</#if>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<div class="content">
|
||||
<div class="logo">
|
||||
<img src="welcome-content/keycloak_logo.png" alt="Keycloak" border="0" />
|
||||
</div>
|
||||
<h1>Welcome to Keycloak</h1>
|
||||
|
||||
<#if successMessage?has_content>
|
||||
<p>${successMessage}</p>
|
||||
<#elseif errorMessage?has_content>
|
||||
<p class="error">${errorMessage}</p>
|
||||
<#elseif bootstrap>
|
||||
<#if localUser>
|
||||
<p>Please create an initial admin user to get started.</p>
|
||||
<#else>
|
||||
<p>
|
||||
You need local access to create the initial admin user. Open <a href="http://localhost:8080/auth">http://localhost:8080/auth</a>
|
||||
or use the add-user-keycloak script.
|
||||
</p>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<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>${productName}</strong></h1>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<div class="card-pf h-l">
|
||||
<#if successMessage?has_content>
|
||||
<p class="alert success">${successMessage}</p>
|
||||
<#elseif errorMessage?has_content>
|
||||
<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>
|
||||
|
||||
<#if bootstrap && localUser>
|
||||
<form method="post" class="welcome-form">
|
||||
<p>
|
||||
<label for="username">Username</label>
|
||||
<input id="username" name="username" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" type="password" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="passwordConfirmation">Password confirmation</label>
|
||||
<input id="passwordConfirmation" name="passwordConfirmation" type="password" />
|
||||
</p>
|
||||
|
||||
<input id="stateChecker" name="stateChecker" type="hidden" value="${stateChecker}" />
|
||||
|
||||
<button id="create-button" type="submit" class="btn btn-primary">Create</button>
|
||||
</form>
|
||||
</#if>
|
||||
<div class="welcome-primary-link">
|
||||
<h3><a href="admin/"><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 KeyCloak server
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
<div class="description">
|
||||
|
||||
User Guide, Admin REST API and Javadocs
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-12 col-sm-4">
|
||||
<#if properties.displayCommunityLinks = "true">
|
||||
<div class="card-pf h-m">
|
||||
<h3><a href="http://www.keycloak.org"><img src="welcome-content/keycloak-project.png">Keycloak Project <i class="fa fa-angle-right link" aria-hidden="true"></i></a></h3>
|
||||
</div>
|
||||
<div class="card-pf h-m">
|
||||
<h3><a href="https://lists.jboss.org/mailman/listinfo/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>
|
||||
</div>
|
||||
</#if>
|
||||
|
||||
<#if bootstrap && localUser>
|
||||
<form method="post">
|
||||
<p>
|
||||
<label for="username">Username</label>
|
||||
<input id="username" name="username" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="password">Password</label>
|
||||
<input id="password" name="password" type="password" />
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<label for="passwordConfirmation">Password confirmation</label>
|
||||
<input id="passwordConfirmation" name="passwordConfirmation" type="password" />
|
||||
</p>
|
||||
|
||||
<input id="stateChecker" name="stateChecker" type="hidden" value="${stateChecker}" />
|
||||
|
||||
<button id="create-button" type="submit">Create</button>
|
||||
</form>
|
||||
</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>
|
||||
|
||||
<p><a href="http://www.keycloak.org/docs">Documentation</a> | <a href="admin/">Administration Console</a> </p>
|
||||
|
||||
<p><a href="http://www.keycloak.org">Keycloak Project</a> |
|
||||
<a href="https://lists.jboss.org/mailman/listinfo/keycloak-user">Mailing List</a> |
|
||||
<a href="https://issues.jboss.org/browse/KEYCLOAK">Report an issue</a></p>
|
||||
<p class="logos"><a href="http://www.jboss.org"><img src="welcome-content/jboss_community.png" alt="JBoss and JBoss Community" width="254" height="31" border="0"></a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
After Width: | Height: | Size: 712 B |
After Width: | Height: | Size: 6 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,140 @@
|
|||
body {
|
||||
background: #fff url(../bg.png) no-repeat center bottom fixed;
|
||||
background-size: cover;
|
||||
}
|
||||
.welcome-header {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 50px;
|
||||
margin-left: -10px;
|
||||
}
|
||||
.welcome-header img {
|
||||
width: 150px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.welcome-message {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.h-l {
|
||||
min-height: 370px;
|
||||
padding: 10px 20px 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.h-l h3 {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.h-m {
|
||||
height: 110px;
|
||||
padding-top: 23px;
|
||||
}
|
||||
.card-pf img {
|
||||
width: 22px;
|
||||
margin-right: 10px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
img.doc-img {
|
||||
width: auto;
|
||||
height: 22px;
|
||||
}
|
||||
.link {
|
||||
font-size: 16px;
|
||||
vertical-align: baseline;
|
||||
margin-left: 5px;
|
||||
}
|
||||
h3 {
|
||||
font-weight: 550;
|
||||
}
|
||||
h3 a:link,
|
||||
h3 a:visited {
|
||||
color: #333;
|
||||
font-weight: 550;
|
||||
}
|
||||
h3 a:hover,
|
||||
h3 a:hover .link {
|
||||
text-decoration: none;
|
||||
color: #00659c;
|
||||
}
|
||||
.h-l h3 a img {
|
||||
height: 30px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.card-pf {
|
||||
border-top: 1px solid rgba(3, 3, 3, 0.1);
|
||||
box-shadow: 0 1px 1px rgba(3, 3, 3, 0.275);
|
||||
}
|
||||
|
||||
.welcome-form label,
|
||||
.welcome-form input {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.welcome-form label {
|
||||
color: #828486;
|
||||
font-weight: normal;
|
||||
margin-top: 18px;
|
||||
}
|
||||
.welcome-form input {
|
||||
border: 0;
|
||||
border-bottom: solid 1px #cbcbcb;
|
||||
}
|
||||
.welcome-form input:focus {
|
||||
border-bottom: solid 1px #5e99c6;
|
||||
outline-width: 0;
|
||||
}
|
||||
.welcome-form button {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.error {
|
||||
color: #c00;
|
||||
border-color: #c00;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.success {
|
||||
color: #3f9c35;
|
||||
border-color: #3f9c35;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.welcome-form + .welcome-primary-link,
|
||||
.welcome-message + .welcome-primary-link {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.footer img {
|
||||
float: right;
|
||||
width: 150px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.welcome-header {
|
||||
margin-top: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.welcome-header img {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
h3 {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.h-l,
|
||||
.h-m {
|
||||
height: auto;
|
||||
min-height: auto;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
.h-l img {
|
||||
display: inline;
|
||||
margin-bottom: auto;
|
||||
}
|
||||
.description {
|
||||
display: none;
|
||||
}
|
||||
.footer img {
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.6 KiB |
|
@ -1,69 +0,0 @@
|
|||
/*
|
||||
~ JBoss, Home of Professional Open Source.
|
||||
~ Copyright (c) 2011, Red Hat, Inc., and individual contributors
|
||||
~ as indicated by the @author tags. See the copyright.txt file in the
|
||||
~ distribution for a full listing of individual contributors.
|
||||
~
|
||||
~ This is free software; you can redistribute it and/or modify it
|
||||
~ under the terms of the GNU Lesser General Public License as
|
||||
~ published by the Free Software Foundation; either version 2.1 of
|
||||
~ the License, or (at your option) any later version.
|
||||
~
|
||||
~ This software is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
~ Lesser General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU Lesser General Public
|
||||
~ License along with this software; if not, write to the Free
|
||||
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
|
||||
*/
|
||||
|
||||
body {
|
||||
/*background: url(bkg.gif) repeat-x;*/
|
||||
color: #5B5B5B;
|
||||
font-family: "Lucida Sans Unicode", "Lucida Grande", Geneva, Verdana, Arial, sans-serif;
|
||||
margin-top: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
.wrapper {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 50em;
|
||||
text-align: left;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #008aaa;
|
||||
}
|
||||
h1 {
|
||||
padding-top: 20px;
|
||||
color: #008aaa;
|
||||
}
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
color: #33c6e9;
|
||||
}
|
||||
.content {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.dualbrand {
|
||||
padding-top: 20px;
|
||||
}
|
||||
.wildfly {
|
||||
float:left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
.logo{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.note {
|
||||
font-size: 8pt;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
|
||||
p.logos {
|
||||
padding-top: 20px;
|
||||
}
|
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 1 KiB |
After Width: | Height: | Size: 2.4 KiB |
|
@ -0,0 +1,6 @@
|
|||
import=common/keycloak
|
||||
|
||||
styles=node_modules/patternfly/dist/css/patternfly.css node_modules/patternfly/dist/css/patternfly-additions.css css/welcome.css
|
||||
|
||||
documentationUrl=https://www.keycloak.org/documentation.html
|
||||
displayCommunityLinks=true
|