Skip to content

Commit 35d5cfd

Browse files
committed
Document redirect_uri wire-format change in OAuth migration note
1 parent f5fe42f commit 35d5cfd

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

docs/migration.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1259,6 +1259,14 @@ RFC 9207 / RFC 8414 issuer comparisons, which require simple string comparison (
12591259
URLs constructed in Python from an already-built `AnyHttpUrl` object are unaffected (they were
12601260
normalized at construction); only values parsed from strings/JSON change.
12611261

1262+
This also changes the wire form of `OAuthClientMetadata.redirect_uris`: a path-less redirect URI
1263+
passed as a string (e.g. `redirect_uris=['http://localhost:8080']`) now serializes as
1264+
`http://localhost:8080` instead of `http://localhost:8080/`, and the client sends it verbatim in
1265+
the `/authorize` and token-exchange requests. RFC 6749 §3.1.2.3 requires authorization servers to
1266+
match redirect URIs by exact string comparison, so if you registered such a URI with a previous SDK
1267+
release (with the trailing slash) and the registration is persisted in `TokenStorage`, re-register
1268+
the client so the stored value matches what the SDK now transmits.
1269+
12621270
### Lowlevel `Server`: `subscribe` capability now correctly reported
12631271

12641272
Previously, the lowlevel `Server` hardcoded `subscribe=False` in resource capabilities even when a `subscribe_resource()` handler was registered. The `subscribe` capability is now dynamically set to `True` when an `on_subscribe_resource` handler is provided. Clients that previously didn't see `subscribe: true` in capabilities will now see it when a handler is registered, which may change client behavior.

0 commit comments

Comments
 (0)