In environments using vCenter federated with Microsoft ADFS as an external IDP for the latest vSphere Supervisor releases, repeated authentication prompts occur when logging in through the Tanzu CLI with Pinniped. Authentication works initially, but after approximately two minutes of idle time the user is prompted again to re-authenticate. This cycle repeats consistently, impacting normal workflow.
The short session timeout is due to the lifetime of Pinniped-issued tokens, which is not configurable in the latest vSphere Supervisor releases.
In addition, ADFS does not fully implement the OIDC specification, leading to refresh token errors.
There is no supported configuration change with the old releases of Pinniped ( < v0.41.0) to extend the session lifetime.
A workaround requires a Supervisor update that includes Pinniped v0.41.0 or later, along with updated configuration for ADFS integration.
Manual upgrades of Pinniped pods are NOT supported and are NOT recommended.
This workaround will be available with vSphere 8.0U3P07 or higher which will include Pinniped v0.41.0.
If the included Pinniped version is 0.41.0, you can implement following workaround:
0. Check & confirm current Pinniped version is 0.41.0 from Superviso
kubectl describe deploy pinniped-supervisor -n vmware-system-pinniped | grep Image:
1. Back up current pinniped-supervisor-static-config configmap.
kubectl get cm -n vmware-system-pinniped pinniped-supervisor-static-config -o yaml > pinniped-supervisor-static-config.yaml
2. Edit the pinniped-supervisor-static-config configmap and edit the ADFS UserInfoEndpoint
kubectl edit cm -n vmware-system-pinniped pinniped-supervisor-static-config
apiVersion: v1data: pinniped.yaml: | apiGroupSuffix: pinniped.dev names: defaultTLSCertificateSecret: pinniped-supervisor-default-tls-certificate apiService: pinniped-supervisor-api labels: app: pinniped-supervisor..... log: level: debug oidc: #<+ ignoreUserInfoEndpoint: #<+ whenIssuerExactlyMatches: #<+ - "https://login.your-adfs.domain/adfs" #<+ Add this oidc section with your own ADFS UserInfo endpoint.kind: ConfigMapmetadata: annotations:.....
3. Restart the pinniped-supervisor deployment
kubectl rollout restart deployment -n vmware-system-pinniped pinniped-supervisor
4. Relogin to the guest cluster using 'kubectl vsphere login'
Subscribe to this article for updates: