Closed husira closed 9 months ago
Hello @husira The issue described is related to the Artifactory application, and it's not related to the JFrog Helm Charts (which are maintained under this GitHub repository)
According to my knowledge, it is a known limitation. However, it should not happen when both source and target instances have the same OAuth configuration (hint: check out the access_users_custom_data for a specific user and verify the PropKEY starting with 'authinfo.' has the same key as the OAuth configuration)
I'll suggest reaching out JFrog Support or JFrog Community Support for further investigation.
Potential Bug Report
We deploy and operate an artifactory-pro instance for our customer (release 7.55.14) on a Kubernetes Cluster. For the Artifactory-pro we use the following statefulset.yaml and system.yaml (see files at the bottom).
In our Datacenter we have a new Kubernetes Platform so we need to migrate the whole Kubernetes Cluster to another platform. We migrate the whole PersistentVolume data from Artifactory and the Postgresql Database from the existing to a new Kubernetes Cluster.
This works perfectly and all the data could be migrated without any problems except one: The customer is using an OIDC OAuth provider which is configured in Artifactory:
After the cluster migration, all existing users with the realm "oauth" receive the following error after login with the OIDC provider:
Artifactory-Log:
The user already exists in Artifactory:
If we remove the user from the Admin page (/ui/admin/management/users), the login via OIDC works again because the user is re-created automatically and the binding to the OAuth provider is done initially. But we can't remove all existing users with realm "oauth", because there is a large number of users and they have different groups & permissions.
With exact the same configuration on the existing cluster, the user is able to login using the same OAuth SSO provider. From our perspective this looks like a bug or deadlock, because regarding the Artifactory docs only the user itself could link his account via profile page to an existing OAuth provider: https://jfrog.com/help/r/jfrog-platform-administration-documentation/binding-existing-user-accounts But anyway the user should already be linked to this existing OAuth provider, because we copied all the data.
We have also looked through the Postgresql database, to check if the binding can be renewed somewhere via DB. However, we can't find anything. Actually an Admin account should have the possibility to bind existing users to existing OAuth Providers. Unfortunately we haven't even found an according REST API.
Thank you for your help.
Is this a BUG REPORT or FEATURE REQUEST? (choose one): Bug Report
Version of Helm and Kubernetes: Helm v3.13.1 and Kubernetes v1.24
Which chart: 107.55.14 (7.55.14). Also tested with 107.71.5 (7.71.5) with the same result.
Which product license (Enterprise/Pro/oss): Pro
JFrog support reference (if already raised with support team):
What happened: login with oauth error - Binding token to existing user
What you expected to happen: Login with OAuth Provider should work as expected
How to reproduce it (as minimally and precisely as possible): see description above
Anything else we need to know:
system.yaml
statefulset.yaml