@inrupt/solid-client-authn-browser 1.17.5 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ClientAuthentication.d.ts +1 -0
- package/dist/Session.d.ts +4 -67
- package/dist/defaultSession.d.ts +0 -28
- package/dist/dependencies.d.ts +1 -2
- package/dist/index.d.ts +2 -3
- package/dist/index.js +40 -153
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +34 -143
- package/dist/index.mjs.map +1 -1
- package/dist/login/oidc/__mocks__/IOidcOptions.d.ts +2 -0
- package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.d.ts +4 -0
- package/dist/solid-client-authn.bundle.js +19 -19
- package/dist/solid-client-authn.bundle.js.map +1 -1
- package/package.json +7 -8
- package/rollup.config.mjs +28 -14
- package/src/ClientAuthentication.spec.ts +1 -13
- package/src/Session.spec.ts +11 -178
- package/src/Session.ts +6 -98
- package/src/defaultSession.spec.ts +0 -18
- package/src/defaultSession.ts +0 -40
- package/src/dependencies.ts +1 -2
- package/src/index.spec.ts +1 -2
- package/src/index.ts +9 -3
- package/src/login/oidc/ClientRegistrar.spec.ts +9 -9
- package/src/login/oidc/ClientRegistrar.ts +15 -8
- package/src/login/oidc/IssuerConfigFetcher.spec.ts +17 -32
- package/src/login/oidc/IssuerConfigFetcher.ts +1 -5
- package/src/login/oidc/OidcLoginHandler.spec.ts +6 -3
- package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +28 -42
- package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +18 -34
- package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +0 -11
- package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +1 -12
- package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +1 -0
- package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +1 -2
- package/.prettierignore +0 -3
- package/sampleFlows/SolidAuthClientArchitecture.png +0 -0
- package/sampleFlows/authorization-code-with-pkce.png +0 -0
- package/sampleFlows/authorization-code-with-pkce.seqdiag +0 -46
- package/sampleFlows/authorization-code.png +0 -0
- package/sampleFlows/authorization-code.seqdiag +0 -50
- package/sampleFlows/client-credentials.png +0 -0
- package/sampleFlows/client-credentials.seqdiag +0 -38
- package/sampleFlows/legacy-implicit-flow.png +0 -0
- package/sampleFlows/legacy-implicit-flow.seqdiag +0 -43
- package/sampleFlows/self-signed.png +0 -0
- package/sampleFlows/self-signed.seqdiag +0 -49
- package/sampleFlows/signatory-access-control.seqdiag +0 -36
- package/sampleFlows/signatory-access-control.svg +0 -1
- package/sonar-project.properties +0 -15
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
title: Authorization Code Grant
|
|
2
|
-
|
|
3
|
-
note left of Alice's Browser: Authorization
|
|
4
|
-
note over Decentphotos Server: 1. Has a public/private keypair
|
|
5
|
-
note over Decentphotos WebID: 1. Has pub key cert
|
|
6
|
-
note over Alice's Browser: 2. Alice navigates to decentphotos.example
|
|
7
|
-
Alice's Browser->Decentphotos Server: 3. Retrieves webpage with session
|
|
8
|
-
Decentphotos Server->Alice's Browser:
|
|
9
|
-
note over Alice's Browser: 4. Alice selets her OP or WebID
|
|
10
|
-
Alice's Browser->Decentphotos Server: 5. Requests login with OP / WebID
|
|
11
|
-
Decentphotos Server->Alice's Pod (RS): 5.1 Retrieve Profile
|
|
12
|
-
Alice's Pod (RS)->Decentphotos Server:
|
|
13
|
-
Decentphotos Server->Alice's OP: 6. Requests OP configuration
|
|
14
|
-
Alice's OP->Decentphotos Server:
|
|
15
|
-
Decentphotos Server->Alice's OP: 7. Requests OP JWKS
|
|
16
|
-
Alice's OP->Decentphotos Server:
|
|
17
|
-
Decentphotos Server->Alice's Browser: 8. Redirects to Auth endpoint
|
|
18
|
-
Alice's Browser->Alice's OP: 9. Authorization Request
|
|
19
|
-
note over Alice's OP: 10. Gets Alice's consent
|
|
20
|
-
Alice's OP->Alice's Browser: 11. Returns to redirect_url with access_code
|
|
21
|
-
Alice's Browser-> Decentphotos Server: 12. Transfers Access Code
|
|
22
|
-
Decentphotos Server->Alice's OP: 13. Auth request with proof of private key
|
|
23
|
-
Alice's OP->Decentphotos WebID: 14. Retrieves app WebID
|
|
24
|
-
Decentphotos WebID->Alice's OP:
|
|
25
|
-
note over Alice's OP: 15. Validates cert with WebID
|
|
26
|
-
note over Alice's OP: 16. Generates an access_code
|
|
27
|
-
Alice's OP->Decentphotos Server: 17. Returns access_code and refresh_token
|
|
28
|
-
|
|
29
|
-
note left of Alice's Browser: SENDING REQUEST
|
|
30
|
-
Alice's Browser->Decentphotos Server: 1. Sends Request details
|
|
31
|
-
note over Decentphotos Server: 2. Creates a pop_token
|
|
32
|
-
Decentphotos Server->Bob's Pod (RS): 3. Request sent
|
|
33
|
-
note over Bob's Pod (RS): 4. Checks pop_token Audience
|
|
34
|
-
note over Bob's Pod (RS): 5. Checks client signature
|
|
35
|
-
Bob's Pod (RS)->Alice's Pod (RS): 6. Retrieves Profile
|
|
36
|
-
Alice's Pod (RS)->Bob's Pod (RS):
|
|
37
|
-
note over Bob's Pod (RS): 7. Checks Issuer
|
|
38
|
-
Bob's Pod (RS)->Alice's OP: 8. Retrieves OP configuration
|
|
39
|
-
Alice's OP->Bob's Pod (RS):
|
|
40
|
-
Bob's Pod (RS)->Alice's OP: 9. Requests JWKS
|
|
41
|
-
Alice's OP->Bob's Pod (RS):
|
|
42
|
-
note over Bob's Pod (RS): 10. Performs Authentication
|
|
43
|
-
note over Bob's Pod (RS): 11. Performs Authorization
|
|
44
|
-
Bob's Pod (RS)->Decentphotos Server: 12. Returns Result
|
|
45
|
-
Decentphotos Server->Alice's Browser: 13. Returns result
|
|
46
|
-
|
|
47
|
-
note left of Alice's Browser: REFRESH pop_token
|
|
48
|
-
Bob's Pod (RS)->Decentphotos Server: 1. 401: token expired
|
|
49
|
-
Decentphotos Server->Alice's OP: 2. Refresh token auth request
|
|
50
|
-
Alice's OP->Decentphotos Server: 3. Return updated token
|
|
Binary file
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
title: Client Credentials Grant
|
|
2
|
-
|
|
3
|
-
note left of RP: AUTHORIZATION
|
|
4
|
-
note over RP: 1. Alice's server knows a client_secret and OP
|
|
5
|
-
RP->Alice's OP: 2. Requests OP configuration
|
|
6
|
-
Alice's OP->RP: 3. Returns OP configuration
|
|
7
|
-
RP->Alice's OP: 4. Requests OP JWKS
|
|
8
|
-
Alice's OP->RP: 5. Returns OP JWKS
|
|
9
|
-
note over RP: 6. Generates Private/Public key pair
|
|
10
|
-
note over RP: 7. Saves Private/Public key pair to local storage
|
|
11
|
-
RP->Alice's OP: 8. Authorization Request
|
|
12
|
-
Alice's OP->RP WebID: 9. Retrieves WebID
|
|
13
|
-
RP WebID->Alice's OP:
|
|
14
|
-
note over Alice's OP: 10. Validates redirect_url with WebID
|
|
15
|
-
note over Alice's OP: 11. Validate Client Secret
|
|
16
|
-
note over Alice's OP: 12. Generates an access_token
|
|
17
|
-
Alice's OP->RP: 12. Returns to redirect_url
|
|
18
|
-
|
|
19
|
-
note left of RP: SENDING REQUEST
|
|
20
|
-
note over RP: 1. Creates a pop_token
|
|
21
|
-
RP->Bob's Pod (RS): 2. Request sent
|
|
22
|
-
note over Bob's Pod (RS): 3. Checks pop_token Audience
|
|
23
|
-
note over Bob's Pod (RS): 4. Checks client signature
|
|
24
|
-
Bob's Pod (RS)->Alice's Pod (RS): 5. Retrieves Profile
|
|
25
|
-
Alice's Pod (RS)->Bob's Pod (RS):
|
|
26
|
-
note over Bob's Pod (RS): 6. Checks Issuer
|
|
27
|
-
Bob's Pod (RS)->Alice's OP: 7. Retrieves OP configuration
|
|
28
|
-
Alice's OP->Bob's Pod (RS):
|
|
29
|
-
Bob's Pod (RS)->Alice's OP: 8. Requests JWKS
|
|
30
|
-
Alice's OP->Bob's Pod (RS):
|
|
31
|
-
note over Bob's Pod (RS): 9. Performs Authentication
|
|
32
|
-
note over Bob's Pod (RS): 10. Performs Authorization
|
|
33
|
-
Bob's Pod (RS)->RP: 11. Returns Result
|
|
34
|
-
|
|
35
|
-
note left of RP: REFRESH TOKEN
|
|
36
|
-
Bob's Pod (RS)->RP: 1. 401: token expired
|
|
37
|
-
RP->Alice's OP: 2. Refresh token auth request
|
|
38
|
-
Alice's OP->RP: 3. Return updated token
|
|
Binary file
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
title: Legacy Implicit Flow
|
|
2
|
-
|
|
3
|
-
note left of RP: AUTHORIZATION
|
|
4
|
-
note over RP: 1. Alice navigates to decentphotos.example
|
|
5
|
-
note over RP: 2. Alice selets her OP or WebID
|
|
6
|
-
RP->Alice's Pod (RS): 2.1 Retrieve Profile
|
|
7
|
-
Alice's Pod (RS)->RP:
|
|
8
|
-
RP->Alice's OP: 3. Requests OP configuration
|
|
9
|
-
Alice's OP->RP: 4. Returns OP configuration
|
|
10
|
-
RP->Alice's OP: 5. Requests OP JWKS
|
|
11
|
-
Alice's OP->RP: 6. Returns OP JWKS
|
|
12
|
-
note over RP: 7. Generates Private/Public key pair
|
|
13
|
-
note over RP: 8. Saves Private/Public key pair to local storage
|
|
14
|
-
RP->Alice's OP: 9. Authorization Request
|
|
15
|
-
Alice's OP->Decentphotos WebID: 10. Retrieves WebID
|
|
16
|
-
Decentphotos WebID->Alice's OP:
|
|
17
|
-
note over Alice's OP: 11. Validates redirect_url with WebID
|
|
18
|
-
note over Alice's OP: 12. Gets Alice's consent
|
|
19
|
-
note over Alice's OP: 13. Generates an access_token
|
|
20
|
-
Alice's OP->RP: 12. Returns to redirect_url
|
|
21
|
-
|
|
22
|
-
note left of RP: SENDING REQUEST
|
|
23
|
-
note over RP: 1. Creates a pop_token
|
|
24
|
-
RP->Bob's Pod (RS): 2. Request sent
|
|
25
|
-
note over Bob's Pod (RS): 3. Checks pop_token Audience
|
|
26
|
-
note over Bob's Pod (RS): 4. Checks client signature
|
|
27
|
-
Bob's Pod (RS)->Alice's Pod (RS): 5. Retrieves Profile
|
|
28
|
-
Alice's Pod (RS)->Bob's Pod (RS):
|
|
29
|
-
note over Bob's Pod (RS): 6. Checks Issuer
|
|
30
|
-
Bob's Pod (RS)->Alice's OP: 7. Retrieves OP configuration
|
|
31
|
-
Alice's OP->Bob's Pod (RS):
|
|
32
|
-
Bob's Pod (RS)->Alice's OP: 8. Requests JWKS
|
|
33
|
-
Alice's OP->Bob's Pod (RS):
|
|
34
|
-
note over Bob's Pod (RS): 9. Performs Authentication
|
|
35
|
-
note over Bob's Pod (RS): 10. Performs Authorization
|
|
36
|
-
Bob's Pod (RS)->RP: 11. Returns Result
|
|
37
|
-
|
|
38
|
-
note left of RP: SILENT REFRESH
|
|
39
|
-
Bob's Pod (RS)->RP: 1. 401: token expired
|
|
40
|
-
note over RP: 2. Opens iFrame to OP
|
|
41
|
-
RP->Alice's OP: 3. Authorization Request with prompt=none
|
|
42
|
-
Alice's OP->RP: 4. Return updated token
|
|
43
|
-
|
|
Binary file
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
title: Self Issued Flow
|
|
2
|
-
|
|
3
|
-
note left of RP: AUTHENTICATION
|
|
4
|
-
note over RP: 1. Alice uses the Decentphotos App
|
|
5
|
-
note over OP: 2. Alice has a self-signed app installed
|
|
6
|
-
note over OP: It knows Alice's private key
|
|
7
|
-
note over Alice's WebID: 3. issuer: selfissued.me
|
|
8
|
-
note over Alice's WebID: Knows Alice's pub cert
|
|
9
|
-
note over RP: 4. Alice selects her OP or WebID
|
|
10
|
-
RP->Alice's WebID: 4.1 Gets WebID
|
|
11
|
-
Alice's WebID->RP:
|
|
12
|
-
RP->OP: 5. Requests OP configuration
|
|
13
|
-
OP->RP:
|
|
14
|
-
RP->OP: 6. Requests OP JWKS
|
|
15
|
-
OP->RP:
|
|
16
|
-
note over RP: 7. Generates Private/Public key pair
|
|
17
|
-
note over RP: 8. Generates PKCE nonce
|
|
18
|
-
note over RP: 9. Saves both to local storage
|
|
19
|
-
RP->OP: 10. Authorization Request
|
|
20
|
-
OP->Decentphotos WebID: 11. Retrieves WebID
|
|
21
|
-
Decentphotos WebID->OP:
|
|
22
|
-
note over OP: 11. Validates redirect protocol with WebID
|
|
23
|
-
note over OP: 12. Gets Alice's consent
|
|
24
|
-
note over OP: 13. Generates an access_code
|
|
25
|
-
OP->RP: 12. Sends code to redirect protocol
|
|
26
|
-
RP->OP: 13. Token requst with code and nonce proof
|
|
27
|
-
note over OP: 14. Validates nonce proof
|
|
28
|
-
OP->RP: 15. Sends access_token
|
|
29
|
-
|
|
30
|
-
note left of RP: SENDING REQUEST
|
|
31
|
-
note over RP: 1. Creates a pop_token
|
|
32
|
-
RP->Bob's Pod (RS): 2. Request sent
|
|
33
|
-
note over Bob's Pod (RS): 3. Checks pop_token Audience
|
|
34
|
-
note over Bob's Pod (RS): 4. Checks client signature
|
|
35
|
-
Bob's Pod (RS)->Alice's WebID: 5. Retrieves Profile
|
|
36
|
-
Alice's WebID->Bob's Pod (RS):
|
|
37
|
-
note over Bob's Pod (RS): 6. Checks that access_token cert matches WebID
|
|
38
|
-
Bob's Pod (RS)->OP: 7. Retrieves OP configuration
|
|
39
|
-
OP->Bob's Pod (RS):
|
|
40
|
-
Bob's Pod (RS)->OP: 8. Requests JWKS
|
|
41
|
-
OP->Bob's Pod (RS):
|
|
42
|
-
note over Bob's Pod (RS): 9. Performs Authentication
|
|
43
|
-
note over Bob's Pod (RS): 10. Performs Authorization
|
|
44
|
-
Bob's Pod (RS)->RP: 11. Returns Result
|
|
45
|
-
|
|
46
|
-
note left of RP: REFRESH TOKEN
|
|
47
|
-
Bob's Pod (RS)->RP: 1. 401: token expired
|
|
48
|
-
RP->OP: 2. Refresh token auth request
|
|
49
|
-
OP->RP: 3. Return updated token
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
title: Legacy Implicit Flow
|
|
2
|
-
|
|
3
|
-
note left of RP: AUTHORIZATION
|
|
4
|
-
note over RP: 1. Alice navigates to badguys.com
|
|
5
|
-
note over RP: 2. Alice selects her OP or WebID
|
|
6
|
-
RP->Alice's WebId: 2.1 Retrieve Profile
|
|
7
|
-
Alice's WebId->RP:
|
|
8
|
-
RP->Alice's OP: 3. Get OP configuration
|
|
9
|
-
Alice's OP->RP:
|
|
10
|
-
RP->Alice's OP: 4. Get OP JWKS
|
|
11
|
-
Alice's OP->RP:
|
|
12
|
-
note over RP: 5. Generates Private/Public key pair
|
|
13
|
-
note over RP: 6. Saves Private/Public key pair to local storage
|
|
14
|
-
RP->Alice's OP: 7. Authorization Request
|
|
15
|
-
Alice's OP->badguys.com WebId: 8. Retrieves WebID
|
|
16
|
-
badguys.com WebId->Alice's OP:
|
|
17
|
-
note over Alice's OP: 9. Validates redirect_url with WebID
|
|
18
|
-
note over Alice's OP: 10. Gets Alice's consent
|
|
19
|
-
note over Alice's OP: 11. Generates an access_token
|
|
20
|
-
Alice's OP->RP: 12. Returns to redirect_url
|
|
21
|
-
|
|
22
|
-
note left of RP: SENDING REQUEST
|
|
23
|
-
note over RP: 1. Creates a pop_token
|
|
24
|
-
RP->Bob's Pod (RS): 2. Request sent
|
|
25
|
-
note over Bob's Pod (RS): 3. Checks pop_token Audience
|
|
26
|
-
note over Bob's Pod (RS): 4. Checks client signature
|
|
27
|
-
Bob's Pod (RS)->Alice's WebId: 5. Retrieves Subject Profile
|
|
28
|
-
Alice's WebId->Bob's Pod (RS):
|
|
29
|
-
note over Bob's Pod (RS): 6. Checks Issuer
|
|
30
|
-
Bob's Pod (RS)->Alice's OP: 7. Retrieves OP configuration
|
|
31
|
-
Alice's OP->Bob's Pod (RS):
|
|
32
|
-
Bob's Pod (RS)->Alice's OP: 8. Requests JWKS
|
|
33
|
-
Alice's OP->Bob's Pod (RS):
|
|
34
|
-
note over Bob's Pod (RS): 9. Performs Authentication
|
|
35
|
-
note over Bob's Pod (RS): 10. Performs Authorization
|
|
36
|
-
Bob's Pod (RS)->RP: 11. Returns Result
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1326.3203125px" height="1442.453125px" class="sequence simple"><desc>Legacy Implicit Flow</desc><defs><marker viewBox="0 0 5 5" markerWidth="5" markerHeight="5" orient="auto" refX="5" refY="2.5" id="markerArrowBlock"><path d="M 0 0 L 5 2.5 L 0 5 z"/></marker><marker viewBox="0 0 9.6 16" markerWidth="4" markerHeight="16" orient="auto" refX="9.6" refY="8" id="markerArrowOpen"><path d="M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"/></marker></defs><g class="title"><rect x="10" y="10" width="201.984375" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="15" y="29.40625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="15">Legacy Implicit Flow</tspan></text></g><g class="actor"><rect x="230.578125" y="48.015625" width="39.203125" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="240.578125" y="72.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="240.578125">RP</tspan></text></g><g class="actor"><rect x="230.578125" y="1384.4375" width="39.203125" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="240.578125" y="1408.84375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="240.578125">RP</tspan></text></g><line x1="250.1796875" x2="250.1796875" y1="86.03125" y2="1384.4375" stroke="#000000" fill="none" style="stroke-width: 2;"/><g class="actor"><rect x="427.9609375" y="48.015625" width="144.796875" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="437.9609375" y="72.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="437.9609375">Alice's WebId</tspan></text></g><g class="actor"><rect x="427.9609375" y="1384.4375" width="144.796875" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="437.9609375" y="1408.84375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="437.9609375">Alice's WebId</tspan></text></g><line x1="500.359375" x2="500.359375" y1="86.03125" y2="1384.4375" stroke="#000000" fill="none" style="stroke-width: 2;"/><g class="actor"><rect x="630.1484375" y="48.015625" width="116" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="640.1484375" y="72.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="640.1484375">Alice's OP</tspan></text></g><g class="actor"><rect x="630.1484375" y="1384.4375" width="116" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="640.1484375" y="1408.84375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="640.1484375">Alice's OP</tspan></text></g><line x1="688.1484375" x2="688.1484375" y1="86.03125" y2="1384.4375" stroke="#000000" fill="none" style="stroke-width: 2;"/><g class="actor"><rect x="789.3515625" y="48.015625" width="183.1875" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="799.3515625" y="72.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="799.3515625">badguys.com WebId</tspan></text></g><g class="actor"><rect x="789.3515625" y="1384.4375" width="183.1875" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="799.3515625" y="1408.84375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="799.3515625">badguys.com WebId</tspan></text></g><line x1="880.9453125" x2="880.9453125" y1="86.03125" y2="1384.4375" stroke="#000000" fill="none" style="stroke-width: 2;"/><g class="actor"><rect x="992.5390625" y="48.015625" width="154.390625" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="1002.5390625" y="72.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1002.5390625">Bob's Pod (RS)</tspan></text></g><g class="actor"><rect x="992.5390625" y="1384.4375" width="154.390625" height="38.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="1002.5390625" y="1408.84375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1002.5390625">Bob's Pod (RS)</tspan></text></g><line x1="1069.734375" x2="1069.734375" y1="86.03125" y2="1384.4375" stroke="#000000" fill="none" style="stroke-width: 2;"/><g class="note"><rect x="95.3828125" y="106.03125" width="134.796875" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="100.3828125" y="125.4375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="100.3828125">AUTHORIZATION</tspan></text></g><g class="note"><rect x="86.7890625" y="154.046875" width="326.78125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="91.7890625" y="173.453125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="91.7890625">1. Alice navigates to badguys.com</tspan></text></g><g class="note"><rect x="91.5859375" y="202.0625" width="317.1875" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="96.5859375" y="221.46875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="96.5859375">2. Alice selects her OP or WebID</tspan></text></g><g class="signal"><text x="279.27734375" y="260.4765625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="279.27734375">2.1 Retrieve Profile</tspan></text><line x1="250.1796875" x2="500.359375" y1="268.09375" y2="268.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="375.26953125" y="293.09375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="375.26953125"/></text><line x1="500.359375" x2="250.1796875" y1="288.09375" y2="288.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="358.7734375" y="318.4921875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="358.7734375">3. Get OP configuration</tspan></text><line x1="250.1796875" x2="688.1484375" y1="326.109375" y2="326.109375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="469.1640625" y="351.109375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="469.1640625"/></text><line x1="688.1484375" x2="250.1796875" y1="346.109375" y2="346.109375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="401.96875" y="376.5078125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="401.96875">4. Get OP JWKS</tspan></text><line x1="250.1796875" x2="688.1484375" y1="384.125" y2="384.125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="469.1640625" y="409.125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="469.1640625"/></text><line x1="688.1484375" x2="250.1796875" y1="404.125" y2="404.125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="72.390625" y="424.125" width="355.578125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="77.390625" y="443.53125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="77.390625">5. Generates Private/Public key pair</tspan></text></g><g class="note"><rect x="10" y="472.140625" width="480.359375" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="15" y="491.546875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="15">6. Saves Private/Public key pair to local storage</tspan></text></g><g class="signal"><text x="353.96875" y="530.5546875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="353.96875">7. Authorization Request</tspan></text><line x1="250.1796875" x2="688.1484375" y1="538.171875" y2="538.171875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="698.1484375" y="568.5703125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="698.1484375">8. Retrieves WebID</tspan></text><line x1="688.1484375" x2="880.9453125" y1="576.1875" y2="576.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="784.546875" y="601.1875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="784.546875"/></text><line x1="880.9453125" x2="688.1484375" y1="596.1875" y2="596.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="510.359375" y="616.1875" width="355.578125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="515.359375" y="635.59375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="515.359375">9. Validates redirect_url with WebID</tspan></text></g><g class="note"><rect x="567.953125" y="664.203125" width="240.390625" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="572.953125" y="683.609375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="572.953125">10. Gets Alice's consent</tspan></text></g><g class="note"><rect x="543.953125" y="712.21875" width="288.390625" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="548.953125" y="731.625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="548.953125">11. Generates an access_token</tspan></text></g><g class="signal"><text x="339.5703125" y="770.6328125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="339.5703125">12. Returns to redirect_url</tspan></text><line x1="688.1484375" x2="250.1796875" y1="778.25" y2="778.25" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="76.1796875" y="798.25" width="154" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="81.1796875" y="817.65625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="81.1796875">SENDING REQUEST</tspan></text></g><g class="note"><rect x="139.5859375" y="846.265625" width="221.1875" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="144.5859375" y="865.671875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="144.5859375">1. Creates a pop_token</tspan></text></g><g class="signal"><text x="587.95703125" y="904.6796875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="587.95703125">2. Request sent</tspan></text><line x1="250.1796875" x2="1069.734375" y1="912.296875" y2="912.296875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="930.34375" y="932.296875" width="278.78125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="935.34375" y="951.703125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="935.34375">3. Checks pop_token Audience</tspan></text></g><g class="note"><rect x="939.9453125" y="980.3125" width="259.578125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="944.9453125" y="999.71875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="944.9453125">4. Checks client signature</tspan></text></g><g class="signal"><text x="650.65625" y="1038.7265625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="650.65625">5. Retrieves Subject Profile</tspan></text><line x1="1069.734375" x2="500.359375" y1="1046.34375" y2="1046.34375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="785.046875" y="1071.34375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="785.046875"/></text><line x1="500.359375" x2="1069.734375" y1="1066.34375" y2="1066.34375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="987.9375" y="1086.34375" width="163.59375" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="992.9375" y="1105.75" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="992.9375">6. Checks Issuer</tspan></text></g><g class="signal"><text x="739.74609375" y="1144.7578125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="739.74609375">7. Retrieves OP configuration</tspan></text><line x1="1069.734375" x2="688.1484375" y1="1152.375" y2="1152.375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="878.94140625" y="1177.375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="878.94140625"/></text><line x1="688.1484375" x2="1069.734375" y1="1172.375" y2="1172.375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="802.14453125" y="1202.7734375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="802.14453125">8. Requests JWKS</tspan></text><line x1="1069.734375" x2="688.1484375" y1="1210.390625" y2="1210.390625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="signal"><text x="878.94140625" y="1235.390625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="878.94140625"/></text><line x1="688.1484375" x2="1069.734375" y1="1230.390625" y2="1230.390625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g><g class="note"><rect x="939.9453125" y="1250.390625" width="259.578125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="944.9453125" y="1269.796875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="944.9453125">9. Performs Authentication</tspan></text></g><g class="note"><rect x="939.9453125" y="1298.40625" width="259.578125" height="28.015625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"/><text x="944.9453125" y="1317.8125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="944.9453125">10. Performs Authorization</tspan></text></g><g class="signal"><text x="573.55859375" y="1356.8203125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="573.55859375">11. Returns Result</tspan></text><line x1="1069.734375" x2="250.1796875" y1="1364.4375" y2="1364.4375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"/></g></svg>
|
package/sonar-project.properties
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
sonar.projectKey=inrupt_solid-client-authn-browser
|
|
2
|
-
sonar.projectName=solid-client-authn-browser
|
|
3
|
-
sonar.organization=inrupt
|
|
4
|
-
|
|
5
|
-
# Path is relative to the sonar-project.properties file. Defaults to .
|
|
6
|
-
sonar.sources=src
|
|
7
|
-
|
|
8
|
-
# Typescript tsconfigPath JSON file
|
|
9
|
-
sonar.typescript.tsconfigPath=.
|
|
10
|
-
|
|
11
|
-
# Comma-delimited list of paths to LCOV coverage report files. Paths may be absolute or relative to the project root.
|
|
12
|
-
sonar.javascript.lcov.reportPaths=./coverage/lcov.info
|
|
13
|
-
|
|
14
|
-
# Exclude tests from analysis
|
|
15
|
-
sonar.exclusions=**/*.test.ts
|