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).