Skip to content

Commit

Permalink
fix numbering
Browse files Browse the repository at this point in the history
  • Loading branch information
paullatzelsperger committed Mar 12, 2024
1 parent 71b3099 commit 7e49dbb
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<mxfile host="Electron" modified="2024-03-12T10:42:14.147Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.0.4 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="T_zYafIklVSSH-jMfeBo" version="24.0.4" type="device">
<mxfile host="Electron" modified="2024-03-12T12:05:42.507Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.0.4 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="w7PgxH3aSy8QzgqONvjS" version="24.0.4" type="device">
<diagram name="Page-1" id="QkwFA1DzPIJVPvUpdssr">
<mxGraphModel dx="1884" dy="1847" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<mxGraphModel dx="2086" dy="1930" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
Expand Down Expand Up @@ -47,20 +47,20 @@
<mxCell id="9Vp6ap9HHpzuf-tuijH6-16" value="TokenRefreshHandler" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-260" y="150" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="dR5asBM_HeGZLUQ2tBJT-1" value="(4)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontColor=#FF3333;rotation=0;dashed=1;" vertex="1" parent="1">
<mxCell id="dR5asBM_HeGZLUQ2tBJT-1" value="(4)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontColor=#FF3333;rotation=0;dashed=1;" parent="1" vertex="1">
<mxGeometry x="100" y="170" width="70" height="30" as="geometry" />
</mxCell>
<mxCell id="dR5asBM_HeGZLUQ2tBJT-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="dR5asBM_HeGZLUQ2tBJT-2" target="9Vp6ap9HHpzuf-tuijH6-11">
<mxCell id="dR5asBM_HeGZLUQ2tBJT-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="1" source="dR5asBM_HeGZLUQ2tBJT-2" target="9Vp6ap9HHpzuf-tuijH6-11" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="-420" y="190" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="dR5asBM_HeGZLUQ2tBJT-2" value="exp?" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxCell id="dR5asBM_HeGZLUQ2tBJT-2" value="exp?" style="rhombus;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-440" y="146" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dR5asBM_HeGZLUQ2tBJT-7" value="(2)/(5)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontColor=#FF3333;rotation=0;dashed=1;" vertex="1" parent="1">
<mxCell id="dR5asBM_HeGZLUQ2tBJT-7" value="(3)/(5)" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontColor=#FF3333;rotation=0;dashed=1;" parent="1" vertex="1">
<mxGeometry x="-580" y="190" width="70" height="30" as="geometry" />
</mxCell>
</root>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 11 additions & 7 deletions docs/development/dataplane-signaling/tx-signaling.extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,19 +50,23 @@ different approaches that are all supported by Tractus-X EDC.
### 1. Automatic refresh using the (consumer) DataPlane

This is suitable for deployments that elect to use a data plane on the consumer side, effectively acting as HTTP client.
Data requests are made by the consumer's data plane. Upon receiving
an HTTP error code indicating an authentication failure (HTTP 401), the consumer data plane refreshes the token using
the `TokenRefreshHandler` and retries the request. This is called "lazy refresh".
Data requests are made by the consumer's data plane. Upon receiving an HTTP error code indicating an authentication
failure (HTTP 4xx), the consumer data plane refreshes the token using the `TokenRefreshHandler` and retries the request.
This is called "lazy refresh".

![](./AutomaticRefresh.drawio.png)

- `(1)`: Consumer data plane receives HTTP 401 indicating an auth failure
- `(2)`: The `TokenRefreshHandler` module creates the `authentication_token` (see [documentation]())
- `(3)`: The `TokenRefreshHandler` module sends token refresh request to provider's public Refresh API.

Note that if the token-refresh call also fails with a HTTP 4xx error code, the token must be regarded as invalid and not
authorized. Alternatively, the `TokenRefreshHandler` could choose to proactively refresh the token if nearing expiry. _
This is transparent to the client application._
Note that if the token-refresh call also fails with an HTTP 4xx error code, the token must be regarded as invalid and
not authorized. An expired contract agreement or an unsatisfied policy could be reasons for that (
see [decision record](https://github.com/eclipse-edc/Connector/tree/main/docs/developer/decision-records/2023-09-07-policy-monitor)
and [documentation](https://github.com/eclipse-edc/Connector/blob/main/docs/developer/policy-monitor.md)).

Alternatively, implementations of the `TokenRefreshHandler` could choose to proactively refresh the token if nearing
expiry instead of "letting it fail" first. _This is transparent to the client application._

### 2. Automatic refresh using the `/edrs` API

Expand All @@ -77,7 +81,7 @@ required, then returns back a (possibly refreshed) access token to the client ap
- `(2)`: EDR API (or a related component) checks if the token requires renewal
- `(3)`: EDR API triggers `TokenRefreshHandler` to make the refresh request
- `(4)`: `TokenRefreshHandler` calls refresh endpoint of provider data plane
- `(5)`: (refreshed) token is returned to client application
- `(3)/(5)`: (refreshed) token is returned to client application

### 3. Manual refresh by the client application

Expand Down

0 comments on commit 7e49dbb

Please sign in to comment.