Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/documentation/release_notes/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ include::topics/templates/document-attributes.adoc[]
:release_header_latest_link: {releasenotes_link_latest}
include::topics/templates/release-header.adoc[]

== {project_name_full} 26.8.0
include::topics/26_8_0.adoc[leveloffset=2]

== {project_name_full} 26.7.0
include::topics/26_7_0.adoc[leveloffset=2]

Expand Down
10 changes: 10 additions & 0 deletions docs/documentation/release_notes/topics/26_8_0.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Release notes should contain only headline-worthy new features,
// assuming that people who migrate will read the upgrading guide anyway.

= Themes

== Redesigned identity provider buttons on the login page

The social identity provider section on the login page has been refreshed with updated icons, a new divider layout, and improved button labels.

If you have a custom login theme, see the link:{upgradingguide_link}[{upgradingguide_name}] for details on what changed.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,14 @@ When calling {project_name}'s experimental AuthZEN endpoints, the caller now nee

The Admin REST API endpoints for listing client sessions (`GET /admin/realms/\{realm}/clients/\{id}/user-sessions` and `GET /admin/realms/\{realm}/clients/\{id}/offline-sessions`) now filter out sessions belonging to users that the caller does not have permission to view. Previously, any caller with the `view-clients` role could see all user sessions for a client, potentially exposing user identities to callers without the `view-users` role. After upgrading, callers without `view-users` permission will see fewer results from these endpoints.

=== Redesigned identity provider buttons on the login page

The social identity provider section on the login page has been redesigned with updated icons and layout.
For details, see the https://github.com/keycloak/keycloak/issues/50992[GitHub issue].
Custom login themes that override `social-providers.ftl` or apply CSS targeting the identity provider icons may render incorrectly after upgrading.

Test your custom login theme to ensure the identity provider buttons display correctly.

// ------------------------ Deprecated features ------------------------ //
== Deprecated features

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,9 +185,9 @@ public void acceptLanguageHeader() throws IOException {
public void testIdentityProviderCapitalization(){
oauth.openLoginForm();
// contains even name of sub-item - svg element in this case
assertThat(loginPage.findSocialButton("github").getText(), is("GitHub"));
assertThat(loginPage.findSocialButton("mysaml").getText(), is("mysaml"));
assertThat(loginPage.findSocialButton("myoidc").getText(), is("MyOIDC"));
assertThat(loginPage.findSocialButton("github").getText(), is("Sign in with GitHub"));
assertThat(loginPage.findSocialButton("mysaml").getText(), is("Sign in with mysaml"));
assertThat(loginPage.findSocialButton("myoidc").getText(), is("Sign in with MyOIDC"));
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,9 @@ naturalPersonScopeConsentText=Natural person verifiable credential
# Identity provider
identity-provider-redirector=Connect with another Identity Provider
identity-provider-login-label=Or sign in with
identity-provider-login-label-divider=or sign in with
identity-provider-login-label-short=or
signInWithProvider=Sign in with {0}
idp-email-verification-display-name=Email Verification
idp-email-verification-help-text=Link your account by validating your email.
idp-username-password-form-display-name=Username and password
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,18 +119,44 @@ hr {
margin-bottom: var(--pf-v5-global--spacer--md);
}

#kc-social-providers svg:not(.google) {
filter: invert(47%) sepia(88%) saturate(7486%) hue-rotate(199deg) brightness(91%) contrast(101%);
}
/* Social/identity providers */

#kc-social-providers svg {
#kc-social-providers img,
#kc-social-providers picture {
height: var(--pf-v5-global--FontSize--xl);
width: var(--pf-v5-global--FontSize--xl);
object-fit: contain;
}

@media (prefers-color-scheme: dark) {
#kc-social-providers svg:not(.google) {
filter: invert(54%) sepia(96%) saturate(2028%) hue-rotate(174deg) brightness(99%) contrast(97%);
}
/* Remove bottom padding when no info section follows (e.g. registration disabled) */
#kc-social-providers:last-child .pf-v5-c-login__main-body {
padding-bottom: 0 !important;
}

/* Use a gray border instead of the tertiary default (near-black in light theme) */
#kc-social-providers .pf-v5-c-button.pf-m-tertiary {
--pf-v5-c-button--m-tertiary--after--BorderColor: var(--pf-v5-global--BorderColor--100);
--pf-v5-c-button--m-tertiary--hover--after--BorderColor: var(--pf-v5-global--BorderColor--200);
}

#kc-social-providers ul > li:last-child {
padding-bottom: 0 !important;
}

/* Named divider */

.kc-social-providers-divider {
display: flex;
align-items: center;
gap: var(--pf-v5-global--spacer--md);
margin: var(--pf-v5-global--spacer--md) 0 var(--pf-v5-global--spacer--md);
}

.kc-social-providers-divider::before,
.kc-social-providers-divider::after {
content: '';
flex: 1;
border-bottom: 1px solid var(--pf-v5-global--BorderColor--100);
}

@media (min-width: 768px) {
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading