From b5c0e5ea148053d2aa5ed3b27617d783dfe64cd9 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Mon, 23 Nov 2020 13:54:21 +0900 Subject: [PATCH] Replace the diagram on authentication page with the one by mermaid. --- assets/scss/_custom.scss | 16 +++++++++++ .../access-authn-authz/authentication.md | 28 ++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss index 3c598673ad..5eb26c2e54 100644 --- a/assets/scss/_custom.scss +++ b/assets/scss/_custom.scss @@ -71,6 +71,22 @@ body.td-404 main .error-details { max-width: 80%; border: 1px solid rgb(222, 226, 230); border-radius: 5px; + margin-bottom: 1rem; + padding-top: 1rem; + padding-bottom: 1rem; + + // mermaid diagram - sequence diagram + .actor { + fill: #326ce5 !important; + } + text.actor { + font-size: 18px !important; + stroke: white !important; + fill: white !important; + } + .activation0 { + fill: #c9e9ec !important; + } } /* HEADER */ diff --git a/content/en/docs/reference/access-authn-authz/authentication.md b/content/en/docs/reference/access-authn-authz/authentication.md index c0ff47909c..8c0d1bf97b 100644 --- a/content/en/docs/reference/access-authn-authz/authentication.md +++ b/content/en/docs/reference/access-authn-authz/authentication.md @@ -282,7 +282,33 @@ from the OAuth2 [token response](https://openid.net/specs/openid-connect-core-1_ as a bearer token. See [above](#putting-a-bearer-token-in-a-request) for how the token is included in a request. -![Kubernetes OpenID Connect Flow](/images/docs/admin/k8s_oidc_login.svg) +{{< mermaid >}} +sequenceDiagram + participant user as User + participant idp as Identity Provider + participant kube as Kubectl + participant api as API Server + + user ->> idp: 1. Login to IdP + activate idp + idp -->> user: 2. Provide access_token,
id_token, and refresh_token + deactivate idp + activate user + user ->> kube: 3. Call Kubectl
with --token being the id_token
OR add tokens to .kube/config + deactivate user + activate kube + kube ->> api: 4. Authorization: Bearer... + deactivate kube + activate api + api ->> api: 5. Is JWT signature valid? + api ->> api: 6. Has the JWT expired?(iat+exp) + api ->> api: 7. user authorized? + api -->> kube: 8. Authorized: Perform
action and return result + deactivate api + activate kube + kube --x user: 9. Return result + deactivate kube +{{< /mermaid >}} 1. Login to your identity provider 2. Your identity provider will provide you with an `access_token`, `id_token` and a `refresh_token`