You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This directory contains offline copies of RFCs that define the security
4
+
standards used in this project's AuthBridge token exchange flow.
5
+
6
+
## RFCs
7
+
8
+
| RFC | Title | Relevance |
9
+
| --- | ----- | --------- |
10
+
|[RFC 7515](rfc7515.html)| JSON Web Signature (JWS) | Foundation for JWT signature verification; used by `pkg/auth/jwt.go` to validate access tokens via JWKS |
11
+
|[RFC 7519](rfc7519.html)| JSON Web Token (JWT) | Core token format for access tokens issued by Keycloak; claims structure used throughout the demo |
12
+
|[RFC 8693](rfc8693.xml)| OAuth 2.0 Token Exchange | Defines the token exchange grant type used by AuthBridge's ext-proc to swap tokens between services |
13
+
|[RFC 8705](rfc8705.xml)| OAuth 2.0 Mutual-TLS Client Authentication | mTLS-based client authentication; relates to SPIFFE X509-SVIDs used as client certificates |
14
+
|[RFC 9068](rfc9068.xml)| JWT Profile for OAuth 2.0 Access Tokens | Standardizes JWT access token format; Keycloak issues tokens following this profile |
15
+
16
+
## How these RFCs fit together
17
+
18
+
The AuthBridge flow uses these standards in sequence:
19
+
20
+
1. A user authenticates with Keycloak and receives a **JWT access token**
21
+
(RFC 7519, RFC 9068)
22
+
2. The token is **signed** using JWS (RFC 7515); services verify signatures
23
+
via Keycloak's JWKS endpoint
24
+
3. When a service calls another service, the Envoy ext-proc performs
25
+
**token exchange** (RFC 8693) to obtain a new token scoped to the
26
+
target service's audience
27
+
4. Services authenticate to Keycloak using **mTLS with SPIFFE SVIDs**
0 commit comments