Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

Commit c4aeff6

Browse files
jaxoncreeddmitrizagidulin
authored andcommitted
Replaced wrongly identified RP with RS
1 parent f5380aa commit c4aeff6

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -306,13 +306,13 @@ that profile, she would add the following triple to her profile:
306306
<#me> solid:oidcIssuer <https://provider.com> .
307307
```
308308

309-
## Securing tokens for multiple resource providers
309+
## Securing tokens for multiple resource servers
310310

311311
#### The Problem
312312

313-
Unlike standard implementations of OIDC, WebID-OIDC must deal with a number of RPs many of which the OP will not know about. OIDC defines the `aud` claim which defines the RPs for which a token can be used.
313+
Unlike standard implementations of OIDC, WebID-OIDC must deal with a number of RSs many of which the OP will not know about. OIDC defines the `aud` claim which defines the RSs for which a token can be used.
314314

315-
However, given Solid's use case, a token should be usable for any RP so the user may federate a query across multiple Pods, so the `aud`ience cannot be constrained. Yet, an unconstrained `aud`ience opens up the possibility of token stealing. In this case, a user sends a request to `evilPod.example`. The Pod returns the requested information, but now has the user's token and may pretend to be the user on any other Pod in the world.
315+
However, given Solid's use case, a token should be usable for any RS so the user may federate a query across multiple Pods, so the `aud`ience cannot be constrained. Yet, an unconstrained `aud`ience opens up the possibility of token stealing. In this case, a user sends a request to `evilPod.example`. The Pod returns the requested information, but now has the user's token and may pretend to be the user on any other Pod in the world.
316316

317317
#### The Solution
318318

@@ -321,8 +321,8 @@ The solution employs [Proof of Possession (PoP) tokens](https://tools.ietf.org/h
321321
1. A client application generates a short-lived public and private key.
322322
2. The client generates a request `JWT` just as it would under normal OIDC with the addition of a `key` field containing the public key.
323323
3. Authentication proceeds normally and yields a signed `id_token` where the `aud`ience is the client application (represented by the `origin` of the provided `redirect_uri`) and an additional field `cnf` is provided containing the client's public key.
324-
4. Before sending requests to any RPs, the client generates a new signed JWT PoP token containing the RP's uri as the `aud`ience and an `id_token` feild containing the `id_token` provided by the OP.
325-
5. When an RP receives the PoP token, it MUST reject any tokens containing a mismatched audience or a signature that is not associated with the public key in the `cnf` claim.
324+
4. Before sending requests to any RSs, the client generates a new signed JWT PoP token containing the RS's uri as the `aud`ience and an `id_token` feild containing the `id_token` provided by the OP.
325+
5. When an RS receives the PoP token, it MUST reject any tokens containing a mismatched audience or a signature that is not associated with the public key in the `cnf` claim.
326326

327327
## Detailed Sign In Workflow Example
328328

0 commit comments

Comments
 (0)