-
Bug
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
False
-
-
False
-
-
-
When integrating Quay with Keycloak for authentication via OIDC, logging in via the UI works as expected, and the user is properly mapped in the federatedlogin table. However, when the same user logs in via Podman CLI, Quay attempts to create a new user instead of mapping to the existing one.
This results in an error message:
Email has already been used: user45@dummy.com
Additionally, after setting OIDC_DISABLE_USER_ENDPOINT: true in the Quay configuration, the error changes to:
unable to retrieve auth token: invalid username/password: unauthorized: 'NoneType' object has no attribute 'to_url'
It appears that Quay is handling authentication inconsistently between UI and CLI logins, possibly due to differences in how it retrieves user information from Keycloak.
on the logs it shows quay tries toquery a user40, which doesn't exist on keycloak or anywhere else:
gunicorn-registry stdout | 2025-02-18 21:50:42,722 [301] [DEBUG] [peewee] ('SELECT "t1"."id", "t1"."uuid", "t1"."username", "t1"."password_hash", "t1"."email", "t1"."verified", "t1"."stripe_id", "t1"."organization", "t1"."robot", "t1"."invoice_email", "t1"."invalid_login_attempts", "t1"."last_invalid_login", "t1"."removed_tag_expiration_s", "t1"."enabled", "t1"."invoice_email_address", "t1"."given_name", "t1"."family_name", "t1"."company", "t1"."location", "t1"."maximum_queued_builds_count", "t1"."creation_date", "t1"."last_accessed" FROM "user" AS "t1" WHERE ("t1"."username" = %s) LIMIT %s OFFSET %s', ['user40', 1, 0])