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
That alone will be enough to initialize a registry client to pull extension catalogs from two registries using their default configurations.
228
+
229
+
Certain registry options could be initialized with their specific environment variables. Each such option will have the following environment variable prefix:
where `<UPPERCASED_AND_UNDERSCORED_REGISTRY_ID>` is a registry ID with each character converted to uppercase and a `.` replaced with `_`. For example, `REGISTRY_ACME_ORG`.
234
+
235
+
The following options can be configured with this approach:
236
+
237
+
- Repository URL, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_REPO_URL=https://internal.registry.acme.org/maven`
238
+
- Update policy, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_UPDATE_POLICY=always`
239
+
- Offering, for example `QUARKUS_REGISTRY_REGISTRY_ACME_ORG_OFFERING=acme-magic`
Your application may have additional requirements.
35
-
For example, if you have an application that requires `libfreetype.so`, you need to copy the native libraries to the container.
36
-
In this case, you need to use a multi-stage `dockerfile` to copy the required libraries:
35
+
For example, if you have an application that manipulates graphics, images, or PDFs, you likely have Quarkus AWT extension included in the project and your native executable will require some additional libraries to run.
36
+
In this case, you need to use a multi-stage `dockerfile` to copy the required libraries.
37
37
38
-
[source, dockerfile]
39
-
----
40
-
# First stage - install the dependencies in an intermediate container
41
-
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as BUILD
Copying handpicked libraries makes up for a small container image, yet it is somewhat britte, differs for different base image versions, and it is a subject to change as transitive dependencies of these libraries might change.
41
+
====
57
42
58
-
If you need to have access to the full AWT support, you need more than just `libfreetype.so`, but also the font and font configurations:
43
+
[NOTE]
44
+
====
45
+
Headless graphics, PDF documents, QR code images etc. manipulation is natively supported on amd64/aarch64 Linux only. Neither Windows nor MacOS are supported and require running the application in a Linux container.
46
+
====
59
47
60
48
[source, dockerfile]
61
49
----
62
50
# First stage - install the dependencies in an intermediate container
63
-
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as BUILD
64
-
RUN microdnf install freetype fontconfig -y
51
+
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6 as nativelibs
If the micro image does not suit your requirements, you can use https://catalog.redhat.com/software/containers/ubi9-minimal/61832888c0d15aff4912fe0d[ubi9-minimal].
105
104
It's a bigger image, but contains more utilities and is closer to a full Linux distribution.
106
105
Typically, it contains a package manager (`microdnf`), so you can install packages more easily.
To make documents processing, graphics, PDFs, etc. available for the application, you can install the required libraries using `microdnf` without manually copying anything:
125
+
126
+
[source, dockerfile]
127
+
----
128
+
FROM registry.access.redhat.com/ubi9/ubi-minimal:9.6
129
+
RUN microdnf install -y freetype fontconfig \
130
+
&& microdnf clean all
131
+
132
+
WORKDIR /work/
133
+
RUN chown 1001 /work \
134
+
&& chmod "g+rwX" /work \
135
+
&& chown 1001:root /work
136
+
# Shared objects to be dynamically loaded at runtime as needed
|quarkus.oidc.resource-metadata.authorization-server ||Authorization server URL
1298
1299
|quarkus.oidc.resource-metadata.force-https-scheme |true|Force that a resource identifier URL has an HTTPS scheme
1299
1300
|====
1300
1301
@@ -1307,7 +1308,9 @@ According to the https://datatracker.ietf.org/doc/rfc9728/[OAuth2 Protected Reso
1307
1308
1308
1309
If it is configured as a relative path then it is added to the current request URL's host and port to build a resource identifier URL. If it is not configured at all then, unless it is a default tenant id, the tenand id is added to the current request URL's host and port to build a resource identifier URL.
1309
1310
1310
-
In such cases, the `quarkus.oidc.resource-metadata.force-https-scheme` property can be used to set a correct URL scheme, which is set to HTTPS by default.
1311
+
The resource identifier URL scheme is set to `HTTPS` by default. You can enable an `HTTP` URL scheme with `quarkus.oidc.resource-metadata.force-https-scheme=false`, it can be particularly useful in simple demos and tests.
1312
+
1313
+
`quarkus.oidc.resource-metadata.authorization-server` allows to customize an authorization server URL that will be included in the resource metadata. The `quarkus.oidc.auth-server-url` URL is included by default, however, for some cases where an OIDC proxy interposes over the actual OIDC provider, returning the OIDC proxy's URL is required instead.
1311
1314
1312
1315
See also the <<oidc-metadata-properties>> for details about the OIDC provider metadata that Quarkus OIDC uses for its work.
Copy file name to clipboardExpand all lines: _guides/security-openid-connect-client-reference.adoc
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -768,7 +768,7 @@ You can also inject named `Tokens`, see <<named-oidc-clients,Inject named OidcCl
768
768
Additionally, the `quarkus.oidc-client.refresh-token-time-skew` property can be used for a preemptive access token refreshment to avoid sending nearly expired access tokens that might cause HTTP 401 errors. For example, if this property is set to `3S` and the access token will expire in less than 3 seconds, then this token will be auto-refreshed.
769
769
770
770
771
-
By default, OIDC client refreshes the token during the current request, when it detects that it has expired, or nearly expired if the [refresh token time skew](https://quarkus.io/guides/security-openid-connect-client-reference#quarkus-oidc-client_quarkus-oidc-client-refresh-token-time-skew) is configured.
771
+
By default, OIDC client refreshes the token during the current request, when it detects that it has expired, or nearly expired if the xref:#quarkus-oidc-client_quarkus-oidc-client-refresh-token-time-skew[refresh token time skew] is configured.
772
772
Performance critical applications may want to avoid having to wait for a possible token refresh during the incoming requests and configure an asynchronous token refresh instead, for example:
0 commit comments