Skip to content

Commit 6d80cc5

Browse files
committed
A sequence diagram for CDT
1 parent 7db6c2c commit 6d80cc5

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

docs/cdt.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
```mermaid
2+
sequenceDiagram
3+
App->>MSAL: AcquireTokenForClient(..., delegrationConstraints=[...], ...)
4+
note over MSAL: Put the DS key in JWK format<br/>and base64url encode it into a req_ds_cnf
5+
MSAL-->>eSTS: POST /tenant-guid/oauth2/v2.0/token<br/><br/>client_id=...&req_ds_cnf=eyJr...xyz
6+
eSTS-->>MSAL: {<br/> "token_type": "Bearer",<br/> "access_token": "eyJh...",<br/> "xms_ds_nonce": "random",<br/>...}
7+
note over MSAL: Construct the constraint as a JWT<br/>{"typ": "JWT", "alg": "..."}<br/>.{"xms_ds_nonce": xms_ds_nonce, "constraints": [...]}<br/>.signature
8+
note over MSAL: Mint a CDT as a JWT<br/>{"typ": "CDT", "alg": "none"}<br/>.{"t": app_token, "c": constraints}<br/>.
9+
MSAL->>App: access_token=CDT, token_type=Bearer
10+
App->>Resource: GET /resource<br/>Authorization: Bearer CDT
11+
```
12+

0 commit comments

Comments
 (0)