Bug 1849569
Summary: | Cannot obtain token for engine API calls when openid external provider (Keycloak) configured [Keycloak 10] | ||||||
---|---|---|---|---|---|---|---|
Product: | [oVirt] ovirt-engine | Reporter: | Artur Socha <asocha> | ||||
Component: | AAA | Assignee: | Artur Socha <asocha> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Lucie Leistnerova <lleistne> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 4.3.10.4 | CC: | bugs, emarcus, mperina | ||||
Target Milestone: | ovirt-4.4.4-1 | Flags: | emarcus:
needinfo-
mperina: ovirt-4.5? |
||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2020-09-07 09:01:12 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Infra | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Artur Socha
2020-06-22 09:20:57 UTC
I managed to re-create the issue on my local environment. Previously I tested it agains Keycloak 8.0.1 with users loaded from LDAP. Currently I have users/groups created via Keycloak management panel. I need to investigate further which of the two changes is the root cause (It works fine with the old setup) This issue exists for Keycloak version 10.0.x. The most recent working integration is with Keycloak 9.0.3. Based on the response on Keycloaks forum: There was a Keycloak change [1] based on ticket [2] that added strict requirement for all the scopes for access token to be configured. "Only proper configuration of requested scope should be valid solution." Previously, such scopes were ignored. [1]https://github.com/keycloak/keycloak/commit/cbab159aa87ca5e3443b3e87fdbf8de40542d1d3 [2]https://issues.redhat.com/browse/KEYCLOAK-8071 What needs to be done here is to identify 'unknown' scope and then make it fully registered ('known' to the client configuration in Keycloak UI). This looks more like configuration (documentation) issue but it must yet confirmed. The fix: Keycloak must be aware of additional client scope for configured client that is created the same ways as 'ovirt-app-admin' or 'ovirt-app-api' The name of the new optional client scope is: 'ovirt-ext=auth:sequence-priority=~' as on screenshot[1] [1] https://drive.google.com/file/d/1vJqcEZ3hhlyHQ2H5Vm9qsrw1x5aeVEkw/view?usp=sharing Tested and confirmed with Keycloak 11.0.2 Created attachment 1937052 [details] Additional scopes for oVirt in Keycloak > The fix: > Keycloak must be aware of additional client scope for configured client that is created the same ways as 'ovirt-app-admin' or 'ovirt-app-api' > > The name of the new optional client scope is: 'ovirt-ext=auth:sequence-priority=~' as on screenshot[1] > > > > [1] https://drive.google.com/file/d/1vJqcEZ3hhlyHQ2H5Vm9qsrw1x5aeVEkw/view?usp=sharing > > Tested and confirmed with Keycloak 11.0.2 I don't have permissions to reshare the image, so attaching it directly to the bug |