|
1 | 1 | --- |
2 | 2 | document: interface_mapping |
3 | 3 | version: '1.0' |
4 | | -last_updated: '2026-04-06' |
| 4 | +last_updated: '2026-04-24' |
5 | 5 | legacy_sdk: '@forgerock/javascript-sdk' |
6 | 6 | legacy_source: '.opensource/forgerock-javascript-sdk/packages/javascript-sdk/src' |
7 | 7 | new_packages: |
@@ -312,19 +312,19 @@ const oidcClient = await oidc({ config }); |
312 | 312 |
|
313 | 313 | ### resume() URL Parameter Parsing |
314 | 314 |
|
315 | | -The legacy `FRAuth.resume()` automatically parses 10+ URL parameters from the redirect URL and conditionally adjusts behavior. The new `journeyClient.resume()` handles a subset of these: |
| 315 | +The legacy `FRAuth.resume()` automatically parses 10+ URL parameters from the redirect URL and conditionally adjusts behavior. The new `journeyClient.resume()` continues to parse these URL parameters and forwards them through as `options.query` values. |
316 | 316 |
|
317 | | -| URL Parameter | Legacy Behavior | New Behavior | |
318 | | -| ------------------------------------ | -------------------------------------------- | ------------------------------------------------------ | |
319 | | -| `code` | Extracted, passed as query param to `next()` | Same — extracted and passed through | |
320 | | -| `state` | Extracted, passed as query param | Same | |
321 | | -| `form_post_entry` | Extracted, triggers previous step retrieval | Same | |
322 | | -| `responsekey` | Extracted, triggers previous step retrieval | Same | |
323 | | -| `error`, `errorCode`, `errorMessage` | Extracted, passed as query params | **Not parsed** — check return value for `GenericError` | |
324 | | -| `suspendedId` | Extracted; skips previous step retrieval | **Not parsed** — handle suspended flows manually | |
325 | | -| `RelayState` | Extracted for SAML flows | **Not parsed** | |
326 | | -| `nonce`, `scope` | Extracted, passed as query params | **Not parsed** | |
327 | | -| `authIndexValue` | Used as fallback tree name | **Not parsed** — pass tree via `options.journey` | |
| 317 | +| URL Parameter | Legacy Behavior | New Behavior | |
| 318 | +| ------------------------------------ | -------------------------------------------- | ----------------------------------- | |
| 319 | +| `code` | Extracted, passed as query param to `next()` | Same — extracted and passed through | |
| 320 | +| `state` | Extracted, passed as query param | Same | |
| 321 | +| `form_post_entry` | Extracted, triggers previous step retrieval | Same | |
| 322 | +| `responsekey` | Extracted, triggers previous step retrieval | Same | |
| 323 | +| `error`, `errorCode`, `errorMessage` | Extracted, passed as query params | Same | |
| 324 | +| `suspendedId` | Extracted, passed as query params | Same | |
| 325 | +| `RelayState` | Extracted for SAML flows | Same | |
| 326 | +| `nonce`, `scope` | Extracted, passed as query params | Same | |
| 327 | +| `authIndexValue` | Extracted, used as fallback journey name | Same | |
328 | 328 |
|
329 | 329 | > **Migration note:** If your app relies on `suspendedId`, `RelayState`, or `authIndexValue` URL parameters being auto-parsed, you must extract them manually from the URL and pass them via `options.query` in the new SDK. |
330 | 330 |
|
@@ -1133,12 +1133,11 @@ The legacy `@forgerock/token-vault` package provided advanced token security via |
1133 | 1133 |
|
1134 | 1134 | ### Key Behavioral Removals |
1135 | 1135 |
|
1136 | | -| Legacy Behavior | New Approach | |
1137 | | -| ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
1138 | | -| Global config via `Config.set()` | Each client manages its own config independently | |
1139 | | -| Automatic PKCE challenge generation in `OAuth2Client` | `@forgerock/oidc-client` handles PKCE internally | |
1140 | | -| `HttpClient` auto-injecting bearer tokens and refreshing on 401 | Manually get tokens, add `Authorization` header, handle 401 yourself | |
1141 | | -| Token stored in `localStorage` by default | OIDC client uses `localStorage` by default; journey client step storage uses `sessionStorage` | |
1142 | | -| Per-call config overrides via `StepOptions` | **Major change:** Config is fixed at client creation time. Legacy apps that passed different `tree`, `serverConfig`, or `middleware` per-call must create separate client instances. Only `query` params can vary per-call | |
1143 | | -| `FRUser.logout()` silently swallows errors per-step | `oidcClient.user.logout()` returns structured `LogoutErrorResult` with per-operation error details | |
1144 | | -| `FRAuth.resume()` auto-parses 10+ URL params (suspendedId, RelayState, etc.) | `journeyClient.resume()` only parses `code`, `state`, `form_post_entry`, `responsekey`. Other params must be extracted manually | |
| 1136 | +| Legacy Behavior | New Approach | |
| 1137 | +| --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 1138 | +| Global config via `Config.set()` | Each client manages its own config independently | |
| 1139 | +| Automatic PKCE challenge generation in `OAuth2Client` | `@forgerock/oidc-client` handles PKCE internally | |
| 1140 | +| `HttpClient` auto-injecting bearer tokens and refreshing on 401 | Manually get tokens, add `Authorization` header, handle 401 yourself | |
| 1141 | +| Token stored in `localStorage` by default | OIDC client uses `localStorage` by default; journey client step storage uses `sessionStorage` | |
| 1142 | +| Per-call config overrides via `StepOptions` | **Major change:** Config is fixed at client creation time. Legacy apps that passed different `tree`, `serverConfig`, or `middleware` per-call must create separate client instances. Only `query` params can vary per-call | |
| 1143 | +| `FRUser.logout()` silently swallows errors per-step | `oidcClient.user.logout()` returns structured `LogoutErrorResult` with per-operation error details | |
0 commit comments