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
Copy file name to clipboardExpand all lines: en/identity-server/next/docs/apis/index.md
+79-1Lines changed: 79 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -145,8 +145,86 @@ Add the following configuration to the `deployment.toml` file to enable this fea
145
145
- If the user is not a super tenant and belongs to the primary user store, the incoming cert CN should be `<username@tenant_doman>`, e.g., `[email protected]`.
146
146
- If the user is not a super tenant and belongs to a secondary user store, the incoming cert CN should be `<userstore_domain>/<username@tenant_doman>` e.g., `SECONDARY/[email protected]`.
147
147
148
+
### Client certificate authentication mappings
148
149
149
-
## Additional configurations
150
+
WSO2 Identity Server now supports two configuration models for mapping client certificates to users or system accounts. These mappings provide flexibility when securing System REST APIs with mTLS.
151
+
152
+
---
153
+
154
+
#### 1. Authentication with no user header
155
+
156
+
This mode is used for **machine-to-machine (M2M)** calls where no `WSO2-Identity-User` header is present. In this scenario certificates are mapped to **system users**.
157
+
158
+
| Configuration | Possible Value | Description |
159
+
|---------------|----------------|-------------|
160
+
|`[client_certificate_based_authentication] enable`|`true`| Enables mTLS-based authentication for System REST APIs. |
161
+
|`trusted_issuer`|`"C=AU, ST=Northern, L=Colombo, O=WSO2, OU=IAM, CN=RootCA, [email protected]"`| Distinguished name (DN) of the permitted certificate issuer. |
162
+
|`cert_thumbprint`|`"78:9B:25:49:5A:A6:DA:74:9C:F7:A8:90:CE:B9:21:EA:EC:C7:22:2A:B3:77:41:1B:6D:48:22:91:98:A9:FD:47"` or `*`| Exact certificate fingerprint, or `*` to allow all issued by the trusted issuer. |
163
+
|`allowed_system_user`|`"admin"` or `"*"`| The system user mapped to the certificate. `*` means any system user. |
164
+
165
+
**Supported patterns:**
166
+
167
+
| Trusted Issuer | Thumbprint | Allowed System User | Description |
| Specific DN | * | * | Any certificate from the trusted issuer can be used by any system user.<br/> WSO2 does not recommend this for production use. |
170
+
| Specific DN | * | system_user | Any certificate from the trusted issuer can be used by the specified system user. |
171
+
| Specific DN | Specific | system_user | Certificates with a listed thumbprint can be used by the specified system user.<br/> **Recommended pattern**. |
172
+
| Specific DN | Specific | * | Certificates with a listed thumbprint can be used by any system user. |
0 commit comments