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: guides/security/remote-authentication.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ All three service scenarios can be addressed through configuration variants of t
42
42
CAP supports out-of-the-box consumption of various types of [remote services](#remote-services):
43
43
44
44
*[Co-located services](#co-located-services) as part of the same deployment and bound to the same identity instance (that is, belong to the same trusted [application zone](./overview#application-zone)).
45
-
*[External services](#app-to-app) that can be running on non-BTP platforms.
45
+
*[External services](#ias-app-2-app) that can be running on non-BTP platforms.
46
46
*[BTP reuse services](#ias-reuse) consumed via service binding. <!-- INTERNAL -->
47
47
48
48
@@ -65,8 +65,8 @@ You can test CAP's built-in support for co-located services in practice by modif
65
65
`xflights` acts as a master data provider exposing basic flight data in service `sap.capire.flights.data` via different protocols.
66
66
On the client side, `xtravels` imports this service as a CAP remote service and fetches data for federation.
67
67
68
-
::: tip
69
-
CAP offers a simplified co-located service setup by leveraging remote services that require:
68
+
::: tip CAP offers
69
+
A simplified co-located service setup by leveraging remote services that require:
70
70
- Shared identity instance
71
71
- URL for the destination
72
72
- Principal propagation mode (optional)
@@ -75,15 +75,15 @@ CAP offers a simplified co-located service setup by leveraging remote services t
75
75
76
76
To combine both applications in a co-located setup, follow these steps:
77
77
78
-
#### 1. Prepare the CF environment { #prepare }
78
+
#### 1. Prepare the Cloud Foundry Environment { #prepare }
79
79
80
80
Make sure that you've prepared a [local environment for CF deployments](../deploy/to-cf#prerequisites) and in addition:
81
81
- A Cloud Foundry (CF) space in a subaccount.
82
82
-[HANA Cloud instance](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-administration-guide/create-sap-hana-database-instance-using-sap-hana-cloud-central) mapped to the CF space.
83
83
-[IAS tenant](./authentication#ias-ready) mapped to the subaccount.
84
84
85
85
86
-
#### 2. Prepare and deploy the consumer application { #co-located-consumer }
86
+
#### 2. Prepare and Deploy the Consumer Application { #co-located-consumer }
87
87
88
88
As client, `xtravels` first needs a valid configuration for the remote service `sap.capire.flights.data`:
89
89
@@ -169,7 +169,7 @@ For production deployment, we recommend combining both services with the shared
169
169
:::
170
170
171
171
172
-
#### 3. Prepare and deploy the provider application { #co-located-provider }
172
+
#### 3. Prepare and Deploy the Provider Application { #co-located-provider }
173
173
174
174
As server, `xflights` needs to restrict service `sap.capire.flights.data` to the technical client calling from the same application.
175
175
This can be done by adding pseudo-role [`internal-user`](./cap-users#pseudo-roles) to the service:
@@ -224,7 +224,7 @@ cds up
224
224
```
225
225
:::
226
226
227
-
#### 4. Verify the deployment { #verify }
227
+
#### 4. Verify the Deployment
228
228
229
229
First, you can check the overall deployment status at the CF CLI level. Specifically, the application services must be started successfully and the shared identity instance must be verified.
230
230
@@ -266,11 +266,11 @@ In contrast to [co-located services](#co-located-services), external services do
266
266
As a consequence, external services can run cross-regionally; even non-BTP systems might be involved.
267
267
A prerequisite for external service calls is a trust federation between the consumer and the provider system.
268
268
269
-
A seamless integration experience for external service communication is provided by [IAS App-2-App](#app-to-app) flows, which are offered by CAP via remote services.
269
+
A seamless integration experience for external service communication is provided by [IAS App-2-App](#ias-app-2-app) flows, which are offered by CAP via remote services.
270
270
[BTP Destinations](../services/consuming-services#using-destinations) offer [various authentication strategies](https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/http-destinations) such as SAML 2.0 as required by many S/4 system endpoints. Both CAP Java and CAP Node.js support IAS App-2-App via configuration to handle token exchange automatically - Java uses service bindings with `ias-dependency-name`, while Node.js uses BTP Destinations with `tokenService.body.resource`.
271
271
272
272
273
-
### IAS App-2-App { #app-to-app }
273
+
### IAS App-2-App
274
274
275
275
As a first-class citizen, [IAS](./authentication#ias-auth) is positioned to simplify cross-regional requests with user propagation.
276
276
Prerequisites are identity instances on both consumer and provider sides, plus a registered IAS dependency in the consumer instance.
@@ -293,7 +293,7 @@ CAP offers App-2-App setup by leveraging remote services that require:
293
293
294
294
295
295
296
-
#### 1. Prepare and deploy the provider application
296
+
#### 1. Prepare and Deploy the Provider Application
297
297
298
298
Assuming the same local CF environment setup as [here](#prepare), clone the sample application ([`xflights-java`](https://github.com/capire/xflights-java/tree/main) or [`xflights`](https://github.com/capire/xflights/tree/main) for Node.js), or if already cloned and modified locally, reset to the remote branch.
299
299
@@ -382,7 +382,7 @@ Use different CAP roles for technical clients without user propagation and for n
382
382
Instead of using the same role, expose dedicated CDS services to technical clients that are not accessible to business users and vice versa.
383
383
:::
384
384
385
-
#### 2. Prepare and deploy the consumer application { #consumer }
385
+
#### 2. Prepare and Deploy the Consumer Application { #consumer }
386
386
387
387
Like the provider application (xflights), clone the sample application ([`xtravels-java`](https://github.com/capire/xtravels-java/tree/main) or [`xtravels`](https://github.com/capire/xtravels/tree/main) for Node.js), or if already cloned and modified locally, reset to the remote branch.
388
388
@@ -547,7 +547,7 @@ Note that property `oauth2-configuration.token-policy.access-token-format: jwt`
547
547
548
548
:::
549
549
550
-
#### 3. Connect consumer with provider { #connect }
550
+
#### 3. Connect Consumer with Provider { #connect }
551
551
552
552
Now create the missing IAS dependency to establish trust for the API service call targeting the provided API with ID `data-consumer`.
0 commit comments