Interface AuthRuntimeConfig
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionClient certificate attribute whose values are going to be mapped to the 'SecurityIdentity' roles according to the roles mapping specified in the certificate properties file.Properties file containing the client certificate attribute value to role mappings.form()Form Auth configbooleanRequire that all registered HTTP authentication mechanisms must attempt to verify the request credentials.Inclusive authentication mode.The HTTP permissionsrealm()The authentication realmThe HTTP role based policiesMap the `SecurityIdentity` roles to deployment specific roles and add the matching roles to `SecurityIdentity`.
-
Method Details
-
permissions
The HTTP permissions -
rolePolicy
The HTTP role based policies -
rolesMapping
Map the `SecurityIdentity` roles to deployment specific roles and add the matching roles to `SecurityIdentity`.For example, if `SecurityIdentity` has a `user` role and the endpoint is secured with a 'UserRole' role, use this property to map the `user` role to the `UserRole` role, and have `SecurityIdentity` to have both `user` and `UserRole` roles.
-
certificateRoleAttribute
Client certificate attribute whose values are going to be mapped to the 'SecurityIdentity' roles according to the roles mapping specified in the certificate properties file. The attribute must be either one of the Relative Distinguished Names (RDNs) or Subject Alternative Names (SANs). By default, the Common Name (CN) attribute value is used for roles mapping. Supported values are:- RDN type - Distinguished Name field. For example 'CN' represents Common Name field. Multivalued RNDs and multiple instances of the same attributes are currently not supported.
- 'SAN_RFC822' - Subject Alternative Name field RFC 822 Name.
- 'SAN_URI' - Subject Alternative Name field Uniform Resource Identifier (URI).
- 'SAN_ANY' - Subject Alternative Name field Other Name.
Please note that only simple case of UTF8 identifier mapping is supported.
For example, you can map 'other-identifier' to the SecurityIdentity roles.
If you use 'openssl' tool, supported Other name definition would look like this:
subjectAltName=otherName:1.2.3.4;UTF8:other-identifier
-
certificateRoleProperties
Properties file containing the client certificate attribute value to role mappings. Use it only if the mTLS authentication mechanism is enabled with either `quarkus.http.ssl.client-auth=required` or `quarkus.http.ssl.client-auth=request`. Properties file is expected to have the `CN_VALUE=role1,role,...,roleN` format and should be encoded using UTF-8. -
realm
The authentication realm -
form
FormAuthConfig form()Form Auth config -
inclusive
@WithDefault("false") boolean inclusive()Require that all registered HTTP authentication mechanisms must attempt to verify the request credentials.By default, when the
inclusiveMode()is strict, every registered authentication mechanism must produce SecurityIdentity, otherwise, a number of mechanisms which produce the identity may be less than a total number of registered mechanisms.All produced security identities can be retrieved using the following utility method:
An injected `SecurityIdentity` represents an identity produced by the first inclusive authentication mechanism. When the `mTLS` authentication is required, the `mTLS` mechanism is always the first mechanism, because its priority is elevated when inclusive authenticationio.quarkus.vertx.http.runtime.security.HttpSecurityUtils#getSecurityIdentities(io.quarkus.security.identity.SecurityIdentity)This property is false by default which means that the authentication process is complete as soon as the first `SecurityIdentity` is created.
This property will be ignored if the path specific authentication is enabled.
-
inclusiveMode
Inclusive authentication mode.
-