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
Defined in https://tools.ietf.org/html/draft-ietf-oauth-mtls-11 this
client authentication method uses mutual Transport Layer Security (TLS)
to authenticate a client for token, introspection and revocation
endpoints. It relies on your TLS-offloading proxy to parse, validate and
send metadata about the X.509 certificate, as well as status of the
verification, via headers to the upstream node.js application.
See the configuration doc tokenEndpointAuthMethods section for more
details.
List of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for.
1167
+
Array of the Claim Names of the Claims that the OpenID Provider MAY be able to supply values for.
1168
1168
1169
1169
_**affects**_: discovery, ID Token claim names, Userinfo claim names
1170
1170
@@ -1319,7 +1319,7 @@ _**affects**_: discovery
1319
1319
1320
1320
### dynamicScopes
1321
1321
1322
-
List of the dynamic scope values that the OP supports. These must be regular expressions that the OP will check string scope values, that aren't in the static list, against.
1322
+
Array of the dynamic scope values that the OP supports. These must be regular expressions that the OP will check string scope values, that aren't in the static list, against.
1323
1323
1324
1324
_**affects**_: discovery, authorization, ID Token claims, Userinfo claims
List of Client Authentication methods supported by this OP's Introspection Endpoint
1611
+
Array of Client Authentication methods supported by this OP's Introspection Endpoint. If no configuration value is provided the same values as for tokenEndpointAuthMethods will be used. Supported values list is the same as for tokenEndpointAuthMethods
1612
1612
1613
1613
_**affects**_: discovery, client authentication for introspection, registration and registration management
List of Client Authentication methods supported by this OP's Revocation Endpoint
1787
+
Array of Client Authentication methods supported by this OP's Revocation Endpoint. If no configuration value is provided the same values as for tokenEndpointAuthMethods will be used. Supported values list is the same as for tokenEndpointAuthMethods
1788
1788
1789
1789
_**affects**_: discovery, client authentication for revocation, registration and registration management
1790
1790
@@ -1825,7 +1825,7 @@ _**affects**_: routing
1825
1825
1826
1826
### scopes
1827
1827
1828
-
List of the scope values that the OP supports
1828
+
Array of the scope values that the OP supports
1829
1829
1830
1830
_**affects**_: discovery, authorization, ID Token claims, Userinfo claims
1831
1831
@@ -1836,7 +1836,7 @@ _**default value**_:
1836
1836
1837
1837
### subjectTypes
1838
1838
1839
-
List of the Subject Identifier types that this OP supports. Valid types are
1839
+
Array of the Subject Identifier types that this OP supports. Valid types are
1840
1840
-`public`
1841
1841
-`pairwise`
1842
1842
@@ -1849,7 +1849,7 @@ _**default value**_:
1849
1849
1850
1850
### tokenEndpointAuthMethods
1851
1851
1852
-
List of Client Authentication methods supported by this OP's Token Endpoint
1852
+
Array of Client Authentication methods supported by this OP's Token Endpoint
1853
1853
1854
1854
_**affects**_: discovery, client authentication for token endpoint, registration and registration management
1855
1855
@@ -1861,6 +1861,41 @@ _**default value**_:
1861
1861
'client_secret_post',
1862
1862
'private_key_jwt' ]
1863
1863
```
1864
+
<details>
1865
+
<summary>(Click to expand) Supported values list
1866
+
</summary>
1867
+
<br>
1868
+
1869
+
```js
1870
+
[
1871
+
'none',
1872
+
'client_secret_basic', 'client_secret_post',
1873
+
'client_secret_jwt', 'private_key_jwt',
1874
+
'tls_client_auth',
1875
+
]
1876
+
```
1877
+
</details>
1878
+
<details>
1879
+
<summary>(Click to expand) Setting up tls_client_auth</summary>
1880
+
<br>
1881
+
1882
+
1883
+
To enable `tls_client_auth` the provider expects `x-ssl-client-verify` and `x-ssl-client-s-dn` headers to be presented by your TLS-offloading proxy with the variable values set by these proxies. An important aspect is to sanitize the inbound request headers at the proxy. <br/><br/> The most common openssl based proxies are Apache and NGINX, with those you're looking to use <br/><br/> __`SSLVerifyClient` (Apache) / `ssl_verify_client` (NGINX)__`require` - if you only support tls_client_auth, `optional` if you also support additional non-MTLS based authentication methods, `optional_no_ca` - if you also support additional non-MTLS based authentication methods AND self_signed_tls_client_auth (not implemented yet) <br/><br/> __`SSLCACertificateFile` or `SSLCACertificatePath` (Apache) / `ssl_client_certificate` (NGINX)__ with the values pointing to your accepted CA Certificates <br/><br/> Set the proxy request headers with variables set as a result of enabling MTLS
* `require` - if you only support tls_client_auth,
692
+
* `optional` if you also support additional non-MTLS based authentication methods,
693
+
* `optional_no_ca` - if you also support additional non-MTLS based authentication methods AND self_signed_tls_client_auth (not implemented yet)
694
+
*
695
+
* <br/><br/>
696
+
*
697
+
* __`SSLCACertificateFile` or `SSLCACertificatePath` (Apache) / `ssl_client_certificate` (NGINX)__ with the values pointing to your accepted CA Certificates
698
+
*
699
+
* <br/><br/>
700
+
*
701
+
* Set the proxy request headers with variables set as a result of enabling MTLS
0 commit comments