Skip to content

Commit f68856f

Browse files
committed
fix typo
1 parent fad01d1 commit f68856f

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

draft-ietf-oauth-browser-based-apps.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,12 @@ informative:
162162
OWASPCheatSheet:
163163
title: OWASP Cheat Sheet
164164
target: https://cheatsheetseries.owasp.org/
165+
CryptoKeyPair:
166+
title: CryptoKeyPair
167+
author:
168+
- name: MDN Contributors
169+
org: Mozilla Developer Network
170+
target: https://developer.mozilla.org/en-US/docs/Web/API/CryptoKeyPair
165171

166172

167173
--- abstract
@@ -949,7 +955,7 @@ Note that even a perfect token storage mechanism does not prevent the attacker f
949955

950956
##### Using Sender-Constrained Tokens
951957

952-
Browser-based OAuth clients can implement DPoP {{RFC9449}} to transition from bearer access tokens and bearer refresh tokens to sender-constrained tokens. In such an implementation, the private key used to sign DPoP proofs is handled by the browser (a non-extractable [CryptoKeyPair](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKeyPair) is stored using {{IndexedDB}}). As a result, the use of DPoP effectively prevents scenarios where the attacker exfiltrates the application's tokens (See {{scenario-single-theft}} and {{scenario-persistent-theft}}).
958+
Browser-based OAuth clients can implement DPoP {{RFC9449}} to transition from bearer access tokens and bearer refresh tokens to sender-constrained tokens. In such an implementation, the private key used to sign DPoP proofs is handled by the browser (a non-extractable {{CryptoKeyPair}} is stored using {{IndexedDB}}). As a result, the use of DPoP effectively prevents scenarios where the attacker exfiltrates the application's tokens (See {{scenario-single-theft}} and {{scenario-persistent-theft}}).
953959

954960
Note that the use of DPoP does not prevent the attacker from running a new flow to obtain a fresh set of tokens (See {{scenario-new-flow}}). Even when DPoP is mandatory, the attacker can bind the fresh set of tokens to a key pair under their control, allowing them to exfiltrate the sender-constrained tokens and use them by relying on the attacker-controlled key to calculate the necessary DPoP proofs.
955961

@@ -1147,7 +1153,7 @@ as described in this document.
11471153
Handling the OAuth Flow in a Service Worker {#service-worker}
11481154
-------------------------------------------
11491155

1150-
In an attempt to limit the attacker's ability to extract existing tokens or acquire a new set of tokens, a pattern using a Service Worker ({{ServiceWorker}}) has been suggested in the past. In this pattern, the application's first action upon loading is registering a Service Worker. The Service Worker becomes responsible for executing the Authorization Code flow to obtain tokens and to augment outgoing requests to the resource server with the proper access token. Additionally, the Service Worker blocks the client application's code from making direct calls to the authorization server's endpoints. This restrictions aims to target the attack scenario "Acquisition and Extraction of New Tokens" ({{scenario-new-flow}}).
1156+
In an attempt to limit the attacker's ability to extract existing tokens or acquire a new set of tokens, a pattern using a Service Worker ({{ServiceWorker}}) has been suggested in the past. In this pattern, the application's first action upon loading is registering a Service Worker. The Service Worker becomes responsible for executing the Authorization Code flow to obtain tokens and to augment outgoing requests to the resource server with the proper access token. Additionally, the Service Worker blocks the client application's code from making direct calls to the authorization server's endpoints. This restriction aims to target the attack scenario "Acquisition and Extraction of New Tokens" ({{scenario-new-flow}}).
11511157

11521158
The sequence diagram included below illustrates the interactions between the client, the Service Worker, the authorization server, and the resource server.
11531159

@@ -1354,6 +1360,7 @@ Document History
13541360

13551361
* Addressed AD review
13561362
* Moved RFC6819 reference to informal
1363+
* Added missing references from prose
13571364
* Replaced references to living standards with references to snapshots
13581365

13591366
-21

0 commit comments

Comments
 (0)