SingleSignOn Config
SingleSignOnConfig
defines the configurations of SSO.
A typical SingleSignOnConfig
for a Kalm-Cloud cluster would look as follows:
apiVersion: core.kalm.dev/v1alpha1
kind: SingleSignOnConfig
metadata:
name: sso
namespace: kalm-system
spec:
domain: foobar.kalm.dev
idTokenExpirySeconds: 300
issuer: https://kalm.dev/oidc
issuerClientId: W67pe2..LQ01wf1p
issuerClientSecret: -oR5lZmbgERGz9F2..YQYE0J561mRYQ
It configures its OIDC provider by assigning issuer
as https://kalm.dev/oidc
, it also set the client id and client secret in the spec.
SingleSignOnConfig
Name | Type | Description | Required |
---|---|---|---|
issuer | string | The base path of dex and the external name of the OpenID Connect service. | Domain or issuer can't be blank at the same time. |
jwksUri | string | JWKS endpoint used to verify JWT tokens | |
domain | string | kalm dex oidc provider domain | Domain or issuer can't be blank at the same time. |
useHttp | bool | Default scheme is https, this flag is to change it to http | False |
port | *int | port of kalm dex oidc provider | False |
showApproveScreen | bool | ||
alwaysShowLoginScreen | bool | ||
connectors | DexConnector [] | Dex connectors config | Connectors and TemporaryUser can't be blank at the same time. |
temporaryUser | *TemporaryDexUser | Temporary Dex user, mainly used for bootstrapping setup of Kalm. | Connectors and TemporaryUser can't be blank at the same time. |
externalEnvoyExtAuthz | *ExtAuthzEndpoint | Create service entry if the ext_authz service is running out of istio mesh | False |
idTokenExpirySeconds | *uint32 | expiry of idToken in seconds | False |
DexConnector
Name | Type | Description | Required |
---|---|---|---|
type | string | type of Connector, currently support: github and gitlab | True |
id | string | id of dex connector | True |
name | string | name of dex connector | True |
config | *runtime.RawExtension | config for dex connector | True |
TemporaryDexUser
Name | Type | Description | Required |
---|---|---|---|
username | string | True | |
passowrdHash | string | bcrypt hash of the password | True |
userId | string | True | |
string | True |
ExtAuthzEndpoint
Name | Type | Description | Required |
---|---|---|---|
host | string | host of endpoint | True |
port | int | port of endpoint | True |
scheme | string | http or https | True |