diff --git a/guides/security/cap-users.md b/guides/security/cap-users.md index 599467b0e..3cc579860 100644 --- a/guides/security/cap-users.md +++ b/guides/security/cap-users.md @@ -1529,6 +1529,16 @@ Avoid iterating through all subscriber tenants to perform tenant-specific tasks. Instead, prefer a task-based approach which processes specific subscriber tenants selectively. ::: +To use IAS-based Remote Services in background executions, you might in addition need to manually inject the tenant-specific IAS host into the created Request Context. If the background execution is initialized with a fresh Request Context, it will not carry inherited authentication details from a previous Request Context and thereby lacks the IAS host information required for remote service calls. The host can be retrieved from a `TenantInfo` object provided for example by the `TenantProviderService`. + +```java +TenantInto tenantInfo = ...; +String tenantHost = tenantInfo.get("subscriber").get("tenantHost"); +runtime.requestContext().systemUser(tenantId).modifyUser(user->user.setAdditionalAttribute("iss", tenantHost)).run((reqContext) -> { +… //call remote service +}); +``` +