commit
56b9009225
12 changed files with 58 additions and 81 deletions
|
@ -79,6 +79,23 @@
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>Version specific migration</title>
|
<title>Version specific migration</title>
|
||||||
|
<section>
|
||||||
|
<title>Migrating to 1.9.0</title>
|
||||||
|
<simplesect>
|
||||||
|
<title>Deprecated OpenID Connect endpoints</title>
|
||||||
|
<para>
|
||||||
|
In 1.2 we deprecated a number of endpoints that where not consistent with the OpenID Connect
|
||||||
|
specifications, these have now been removed. This also applies to the validate token endpoints that
|
||||||
|
was replaced with the new introspect endpoint in 1.8.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
<simplesect>
|
||||||
|
<title>Updates to theme templates</title>
|
||||||
|
<para>
|
||||||
|
Feedback in template.ftl has been moved and format has changed slightly.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
</section>
|
||||||
<section>
|
<section>
|
||||||
<title>Migrating to 1.8.0</title>
|
<title>Migrating to 1.8.0</title>
|
||||||
<simplesect>
|
<simplesect>
|
||||||
|
|
|
@ -38,18 +38,6 @@
|
||||||
<div id="kc-header-wrapper" class="${properties.kcHeaderWrapperClass!}"><#nested "header"></div>
|
<div id="kc-header-wrapper" class="${properties.kcHeaderWrapperClass!}"><#nested "header"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<#if displayMessage && message?has_content>
|
|
||||||
<div id="kc-feedback" class="feedback-${message.type} ${properties.kcFeedBackClass!}">
|
|
||||||
<div id="kc-feedback-wrapper">
|
|
||||||
<span class="kc-feedback-text">${message.summary}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<#else>
|
|
||||||
<div id="kc-feedback-placeholder" class="${properties.kcFeedBackPlaceholderClass!}">
|
|
||||||
<div id="kc-feedback-placeholder-wrapper"></div>
|
|
||||||
</div>
|
|
||||||
</#if>
|
|
||||||
|
|
||||||
<#if realm.internationalizationEnabled>
|
<#if realm.internationalizationEnabled>
|
||||||
<div id="kc-locale" class="${properties.kcLocaleClass!}">
|
<div id="kc-locale" class="${properties.kcLocaleClass!}">
|
||||||
<div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
|
<div id="kc-locale-wrapper" class="${properties.kcLocaleWrapperClass!}">
|
||||||
|
@ -67,6 +55,18 @@
|
||||||
|
|
||||||
<div id="kc-content" class="${properties.kcContentClass!}">
|
<div id="kc-content" class="${properties.kcContentClass!}">
|
||||||
<div id="kc-content-wrapper" class="${properties.kcContentWrapperClass!}">
|
<div id="kc-content-wrapper" class="${properties.kcContentWrapperClass!}">
|
||||||
|
|
||||||
|
<#if displayMessage && message?has_content>
|
||||||
|
<div class="${properties.kcFeedbackAreaClass!}">
|
||||||
|
<div class="alert alert-${message.type}">
|
||||||
|
<#if message.type = 'success'><span class="${properties.kcFeedbackSuccessIcon}"></span></#if>
|
||||||
|
<#if message.type = 'warning'><span class="${properties.kcFeedbackWarningIcon}"></span></#if>
|
||||||
|
<#if message.type = 'error'><span class="${properties.kcFeedbackErrorIcon}"></span></#if>
|
||||||
|
<span class="kc-feedback-text">${message.summary}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
|
||||||
<div id="kc-form" class="${properties.kcFormAreaClass!}">
|
<div id="kc-form" class="${properties.kcFormAreaClass!}">
|
||||||
<div id="kc-form-wrapper" class="${properties.kcFormAreaWrapperClass!}">
|
<div id="kc-form-wrapper" class="${properties.kcFormAreaWrapperClass!}">
|
||||||
<#nested "form">
|
<#nested "form">
|
||||||
|
|
|
@ -3,6 +3,12 @@
|
||||||
background-size: 100% auto;
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.alert-error {
|
||||||
|
background-color: #ffffff;
|
||||||
|
border-color: #cc0000;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
.kc-dropdown{
|
.kc-dropdown{
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
@ -114,59 +120,10 @@
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
#kc-feedback-wrapper {
|
|
||||||
display: inline-block;
|
|
||||||
width: auto;
|
|
||||||
background-position: left bottom;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#kc-feedback span {
|
|
||||||
display: block;
|
|
||||||
padding: 0.90909090909091em 3.63636363636364em;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 1px 1px 0px 1px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: 1.27272727272727em center;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 1.4em;
|
|
||||||
border-radius: 2px;
|
|
||||||
color: #4d5258;
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#kc-terms-text {
|
#kc-terms-text {
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.feedback-error #kc-feedback-wrapper {
|
|
||||||
background-image: url(../img/feedback-error-arrow-down.png);
|
|
||||||
}
|
|
||||||
.feedback-error span {
|
|
||||||
border-color: #b91415;
|
|
||||||
background-image: url(../img/feedback-error-sign.png);
|
|
||||||
background-color: #f8e7e7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feedback-success #kc-feedback-wrapper {
|
|
||||||
background-image: url(../img/feedback-success-arrow-down.png);
|
|
||||||
}
|
|
||||||
.feedback-success span {
|
|
||||||
border-color: #4b9e39;
|
|
||||||
background-image: url(../img/feedback-success-sign.png);
|
|
||||||
background-color: #e4f1e1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feedback-warning #kc-feedback-wrapper {
|
|
||||||
background-image: url(../img/feedback-warning-arrow-down.png);
|
|
||||||
}
|
|
||||||
.feedback-warning span {
|
|
||||||
border-color: #f17528;
|
|
||||||
background-image: url(../img/feedback-warning-sign.png);
|
|
||||||
background-color: #fef1e9;
|
|
||||||
}
|
|
||||||
|
|
||||||
#kc-registration {
|
#kc-registration {
|
||||||
margin-bottom: 15px;
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
@ -283,6 +240,10 @@ ol#kc-totp-settings li:first-of-type {
|
||||||
top: 50px;
|
top: 50px;
|
||||||
right: 50px;
|
right: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-pf .container {
|
||||||
|
padding-right: 80px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
|
@ -300,12 +261,6 @@ ol#kc-totp-settings li:first-of-type {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#kc-feedback {
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-right: 15px;
|
|
||||||
float: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#kc-form {
|
#kc-form {
|
||||||
float: none;
|
float: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,12 +12,17 @@ kcContentClass=col-sm-12 col-md-12 col-lg-12 container
|
||||||
kcContentWrapperClass=row
|
kcContentWrapperClass=row
|
||||||
|
|
||||||
kcHeaderClass=col-xs-12 col-sm-7 col-md-6 col-lg-5
|
kcHeaderClass=col-xs-12 col-sm-7 col-md-6 col-lg-5
|
||||||
kcFeedBackClass=col-xs-12 col-sm-4 col-md-5 col-lg-6
|
kcFeedbackAreaClass=col-md-12
|
||||||
kcFeedBackPlaceholderClass=col-xs-12 col-sm-4 col-md-5 col-lg-6
|
|
||||||
kcLocaleClass=col-xs-12 col-sm-1
|
kcLocaleClass=col-xs-12 col-sm-1
|
||||||
|
kcAlertIconClasserror=pficon pficon-error-circle-o
|
||||||
|
|
||||||
kcFormAreaClass=col-xs-12 col-sm-8 col-md-8 col-lg-7 login
|
kcFormAreaClass=col-xs-12 col-sm-8 col-md-8 col-lg-7 login
|
||||||
|
|
||||||
|
kcFeedbackErrorIcon=pficon pficon-error-circle-o
|
||||||
|
kcFeedbackWarningIcon=pficon pficon-warning-triangle-o
|
||||||
|
kcFeedbackSuccessIcon=alert alert-success
|
||||||
|
|
||||||
|
|
||||||
kcFormClass=form-horizontal
|
kcFormClass=form-horizontal
|
||||||
kcFormGroupClass=form-group
|
kcFormGroupClass=form-group
|
||||||
kcFormGroupErrorClass=has-error
|
kcFormGroupErrorClass=has-error
|
||||||
|
|
|
@ -62,13 +62,13 @@ public class LoginPage extends AbstractPage {
|
||||||
@FindBy(linkText = "Username")
|
@FindBy(linkText = "Username")
|
||||||
private WebElement recoverUsernameLink;
|
private WebElement recoverUsernameLink;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement loginErrorMessage;
|
private WebElement loginErrorMessage;
|
||||||
|
|
||||||
@FindBy(className = "feedback-warning")
|
@FindBy(className = "alert-warning")
|
||||||
private WebElement loginWarningMessage;
|
private WebElement loginWarningMessage;
|
||||||
|
|
||||||
@FindBy(className = "feedback-success")
|
@FindBy(className = "alert-success")
|
||||||
private WebElement emailSuccessMessage;
|
private WebElement emailSuccessMessage;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -35,10 +35,10 @@ public class LoginPasswordResetPage extends AbstractPage {
|
||||||
@FindBy(css = "input[type=\"submit\"]")
|
@FindBy(css = "input[type=\"submit\"]")
|
||||||
private WebElement submitButton;
|
private WebElement submitButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-success")
|
@FindBy(className = "alert-success")
|
||||||
private WebElement emailSuccessMessage;
|
private WebElement emailSuccessMessage;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement emailErrorMessage;
|
private WebElement emailErrorMessage;
|
||||||
|
|
||||||
@FindBy(partialLinkText = "Back to Login")
|
@FindBy(partialLinkText = "Back to Login")
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class LoginPasswordUpdatePage extends AbstractPage {
|
||||||
@FindBy(css = "input[type=\"submit\"]")
|
@FindBy(css = "input[type=\"submit\"]")
|
||||||
private WebElement submitButton;
|
private WebElement submitButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement loginErrorMessage;
|
private WebElement loginErrorMessage;
|
||||||
|
|
||||||
public void changePassword(String newPassword, String passwordConfirm) {
|
public void changePassword(String newPassword, String passwordConfirm) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class LoginRecoverUsernamePage extends AbstractPage {
|
||||||
@FindBy(css = "input[type=\"submit\"]")
|
@FindBy(css = "input[type=\"submit\"]")
|
||||||
private WebElement submitButton;
|
private WebElement submitButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement emailErrorMessage;
|
private WebElement emailErrorMessage;
|
||||||
|
|
||||||
public void recoverUsername(String email) {
|
public void recoverUsername(String email) {
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class LoginTotpPage extends AbstractPage {
|
||||||
@FindBy(id = "kc-cancel")
|
@FindBy(id = "kc-cancel")
|
||||||
private WebElement cancelButton;
|
private WebElement cancelButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement loginErrorMessage;
|
private WebElement loginErrorMessage;
|
||||||
|
|
||||||
public void login(String totp) {
|
public void login(String totp) {
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class LoginUpdateProfilePage extends AbstractPage {
|
||||||
@FindBy(css = "input[type=\"submit\"]")
|
@FindBy(css = "input[type=\"submit\"]")
|
||||||
private WebElement submitButton;
|
private WebElement submitButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement loginErrorMessage;
|
private WebElement loginErrorMessage;
|
||||||
|
|
||||||
public void update(String firstName, String lastName, String email) {
|
public void update(String firstName, String lastName, String email) {
|
||||||
|
|
|
@ -54,7 +54,7 @@ public class RegisterPage extends AbstractPage {
|
||||||
@FindBy(css = "input[type=\"submit\"]")
|
@FindBy(css = "input[type=\"submit\"]")
|
||||||
private WebElement submitButton;
|
private WebElement submitButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement loginErrorMessage;
|
private WebElement loginErrorMessage;
|
||||||
|
|
||||||
public void register(String firstName, String lastName, String email, String username, String password, String passwordConfirm) {
|
public void register(String firstName, String lastName, String email, String username, String password, String passwordConfirm) {
|
||||||
|
|
|
@ -38,10 +38,10 @@ public class ValidatePassworrdEmailResetPage extends AbstractPage {
|
||||||
@FindBy(id="kc-cancel")
|
@FindBy(id="kc-cancel")
|
||||||
private WebElement cancelButton;
|
private WebElement cancelButton;
|
||||||
|
|
||||||
@FindBy(className = "feedback-success")
|
@FindBy(className = "alert-success")
|
||||||
private WebElement emailSuccessMessage;
|
private WebElement emailSuccessMessage;
|
||||||
|
|
||||||
@FindBy(className = "feedback-error")
|
@FindBy(className = "alert-error")
|
||||||
private WebElement emailErrorMessage;
|
private WebElement emailErrorMessage;
|
||||||
|
|
||||||
public void submitCode(String code) {
|
public void submitCode(String code) {
|
||||||
|
|
Loading…
Reference in a new issue