Microsoft Active Directory Federation Services (ADFS) is registered as an External Identity Provider (IDP) on vSphere Supervisor. See, Register an External IDP with Supervisor
Users may observe one of the following issues when authenticating to Supervisor with ADFS:
Bad Gateway: error exchanging and validating upstream tokens"vSphere Supervisor 8
vSphere Supervsior 9
Authentication fails as ADFS does not correctly implement the OAuth2 refresh token flow that is used to extend a user login session with vSphere Supervisor.
vSphere Supervisor uses Pinniped for external IDP authentication.
A workaround has been added to Pinniped v0.41.0 which will be included in a future release of vSphere.
To work around the error, SSH into one of the Supervisor VMs (See KB 323407) and perform the following operations:
pinniped-supervisor-static-config ConfigMapkubectl edit configmap/pinniped-supervisor-static-config -n vmware-system-pinniped
kind: ConfigMap
apiVersion: v1
metadata:
name: pinniped-supervisor-static-config
namespace: vmware-system-pinniped
data:
pinniped.yaml: |
oidc:
ignoreUserInfoEndpoint:
whenIssuerExactlyMatches:
- "https://ad1.example.com/adfs"
- "https://ad2.example.com/adfs"
<https://ad1.example.com/adfs> with the issuer url used to register the external IDP.kubectl rollout restart deployments/pinniped-supervisor -n vmware-system-pinniped
For further information about Pinniped, see https://pinniped.dev
For further information on this specific issue: https://github.com/vmware/pinniped/pull/2580
For further information about OAuth2 refresh token flows, see: