Skip to content

Commit 16e680b

Browse files
docs: Add OpenID Connect to the Authentication concepts page
1 parent c19aa60 commit 16e680b

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: authentication.stackable.tech/v1alpha1
2+
kind: AuthenticationClass
3+
metadata:
4+
name: keycloak
5+
spec:
6+
provider:
7+
oidc:
8+
hostname: my.keycloak.server # <1>
9+
port: 8080 # <2>
10+
rootPath: /realms/master # <3>
11+
scopes: # <4>
12+
- email
13+
- openid
14+
- profile
15+
principalClaim: preferred_username # <5>
16+
providerHint: Keycloak # <6>

modules/concepts/pages/authentication.adoc

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Multiple operators use this CRD as a way to express and configure the authentica
1414
The following authentication providers are supported:
1515

1616
* <<LDAP>>: Authenticate users using an LDAP server.
17+
* <<OIDC>>: Authenticate users using an OpenID connect provider.
1718
* <<TLS>>: Authenticate users with client TLS certificates.
1819
* <<Static>>: Authenticate users against a static list of users and passwords in a simple Kubernetes Secret.
1920
@@ -36,6 +37,25 @@ image::image$authentication-overview.drawio.svg[]
3637

3738
NOTE: Learn more in the xref:tutorials:authentication_with_openldap.adoc[OpenLDAP tutorial] and get a full overview of all the properties in the {crd-docs}/authentication.stackable.tech/authenticationclass/v1alpha1/#spec-provider-ldap[AuthenticationClass LDAP provider CRD reference].
3839

40+
[#OIDC]
41+
=== OpenID Connect
42+
43+
An OIDC provider like https://www.keycloak.org/[Keycloak {external-link-icon}^] could be configured as follows:
44+
45+
[source,yaml]
46+
----
47+
include::example$authenticationclass-keycloak.yaml[]
48+
----
49+
50+
<1> Hostname of the identity provider.
51+
<2> Port of the identity provider. If TLS is used defaults to 443, otherwise to 80.
52+
<3> Root HTTP path of the identity provider. Defaults to `/`.
53+
<4> Scopes to request from your identity provider. It is recommended to request the `openid`, `email`, and `profile` scopes.
54+
<5> If a product extracts some sort of "effective user" that is represented by a string internally, this config determines which claim is used to extract that string.
55+
<6> This is a hint about which identity provider is used by the AuthenticationClass.
56+
57+
NOTE: Get a full overview of all the properties in the {crd-docs}/authentication.stackable.tech/authenticationclass/v1alpha1/#spec-provider-oidc[AuthenticationClass OIDC provider CRD reference].
58+
3959
[#tls]
4060
=== TLS
4161
The `TLS` provider configures a product to authenticate users using TLS certificates.

0 commit comments

Comments
 (0)