Using vCluster Platform as OIDC Provider
vCluster Platform can act as an OpenID Connect provider for other services, e.g. a self-hosted container registry using Harbor.
Configuring vCluster Platform as an OIDC Provider
To tell vCluster Platform to act as OIDC provider, navigate to Admin > Config
and add the oidc
section to your config:
auth: ...
oidc:
enabled: true
clients:
- name: "Example Client"
clientId: "loft"
clientSecret: "MYCLIENTSECRET"
redirectURIs:
- http://my-allowed-redirect-uri
# - ADD A 2nd OIDC CLIENT HERE
# - ADD A 3rd OIDC CLIENT HERE
Adding OIDC Clients to vCluster Platform OIDC Using Secrets
You can add OIDC clients to vCluster Platform using Kubernetes secrets. These secrets should contain the string fields name
, clientID
, clientSecret
, and redirectURIs
. Multiple redirect URIs should be delimitted by \n
. vCluster Platform will only recognize an OIDC client secret if they posses the labels clientID
and component
. The value for clientID
should match the clientID
field's value and the value for component
should be oidcServer
. Here is an example of a yaml manifest that can be used to manage an OIDC client for vCluster Platform's OIDC provider:
apiVersion: v1
kind: Secret
metadata:
name: test-oidc-client
namespace: vcluster-platform # Namespace where vCluster Platform is installed
labels:
clientID: loft2
component: oidcServer
type: Opaque
stringData:
name: "Example Client"
clientID: "loft2"
clientSecret: "MYCLIENTSECRET"
redirectURIs: http://my-allowed-redirect-uri\nhttp://my-allowed-redirect-uri2 # delimit multiple uris with newlines
Using vCluster OIDC Provider in Other Applications
To configure vCluster Platform as an OIDC provider somewhere else, you can fill out the following fields with:
- OIDC Provider Endpoint / Issuer: https://vcluster-platform.mycompany.tld/oidc
- OIDC Client ID: loft
- OIDC Client Secret: MYCLIENTSECRET
- Group Claim Name: groups
- Available OIDC Scopes: offline_access,openid,groups,email,profile
With this configuration, your vCluster Platform users will be able to authenticate in another application using their vCluster Platform account (which may itself be based on another SSO provider).