diff --git a/docs/assets/client-authorization-flow.drawio.svg b/docs/assets/client-authorization-flow.drawio.svg new file mode 100644 index 0000000..371cddc --- /dev/null +++ b/docs/assets/client-authorization-flow.drawio.svg @@ -0,0 +1,4 @@ + + + +
X509 Certificate Based Client Authorization Flow
X509 Certificate Based Client Authorization Flow
Client
Client
Send request
Send...
Keycloak
Keycloak
Verify client certificate (optional)
Verify client certificate...
X509 Certificate Client Authenticator
X509 Certificate Client...
INVALID
INVALID
Disconnect
Disconnect
Is request for client with X509 Authenticator configured?
Is request for client wit...
VALID (OR NO CLIENT CERT)
VALID (OR NO CLIENT CERT)
NO
NO
Continue with other client authenticator.
Continue with other client...
Authorize request
Autho...
Envoy X509 client certificate lookup
Envoy X509 client certificate lookup
Is cert-path-verify configured?
Is cert-path-verify confi...
NO
NO
YES
YES
Return client certificate from the XFCC header (if any).
Return client certificate...
Check if the received request includes a client certificate in the TLS layer.
Check if the received requ...
NO
NO
YES
YES
Do not return client certificate.
Do not return client certi...
DOES NOT MATCH
DOES NOT MATCH
Return client certificate from TLS layer.
Return client certificate...
Attempt to verify the TLS layer client certificate path with given criteria.
Attempt to verify the TLS...
MATCHES
MATCHES
Return client certificate from the XFCC header (if any).
Return client certificate...
YES
YES
\ No newline at end of file diff --git a/docs/security-and-client-cert-forwarding.md b/docs/security-and-client-cert-forwarding.md index c4e9f15..3d5298b 100644 --- a/docs/security-and-client-cert-forwarding.md +++ b/docs/security-and-client-cert-forwarding.md @@ -51,3 +51,10 @@ This can include a Keycloak admin client to obtain full access to Keycloak. The forged certificate can be self-generated by the malicious user, as long as it contains the correct subject name. ![image](assets/xfcc-scenario-2.drawio.svg) + + +## TEST + +This is a test + +![image](assets/client-authorization-flow.drawio.svg)