mauriciovigolo / keycloak-angular

Easy Keycloak setup for Angular applications.
MIT License
714 stars 271 forks source link

Proposition: don't wait for Keycloak's initialization #554

Open DanielKucal opened 3 months ago

DanielKucal commented 3 months ago

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce? Improved setup instructions.

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[X] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Currently if 3rd party cookies are disabled (e.g. on Safari) when opening Keycloak-secured app using 'check-sso' on load, app initialization NEVER completes when silentCheckSsoFallback is turned off or redirects user to login page (which can be just an "Invalid credentials" error page when login+password login is disabled) and he can never go back, because of this immediate redirect.

There's an underlaying issue in keycloak-js, which doesn't handle failed GET /realms/${realmName}/protocol/openid-connect/auth request correctly, just silences it.

Issue Number: #544

What is the new behavior?

App doesn't wait for Keycloak initialization, so it doesn't break, but it may not be a proper solution when using `onLoad: 'login-required'

Does this PR introduce a breaking change?

[ ] Yes
[X] No

Screen recording of described behaviors

image

mauriciovigolo commented 3 weeks ago

Thank you @DanielKucal!

I wanted to have this fix in v16, but first I need to find a solution for the onLoad: 'login-required' issue. Since I'm working on the refactoring of the library I will take this into account for the new version.