Skip to content

Releases: ForgeRock/ping-javascript-sdk

@forgerock/storage@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Patch Changes

  • #555 d849256 Thanks @ancheetah! - Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.

  • Updated dependencies [4fe7bfe]:

    • @forgerock/sdk-types@2.1.0

@forgerock/sdk-utilities@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config

Patch Changes

  • Updated dependencies [4fe7bfe]:
    • @forgerock/sdk-types@2.1.0

@forgerock/sdk-types@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config

@forgerock/sdk-request-middleware@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #563 ec39137 Thanks @ancheetah! - Adds pollStatus() method and PollingCollector to @forgerock/davinci-client for polling support in DaVinci flows.

    Pass a PollingCollector to davinciClient.pollStatus(collector) to get a poller function. The polling mode is detected automatically from the collector:

    • Challenge polling: Periodically calls the /status endpoint until the challenge is resolved.
    • Continue polling: Performs a delay and returns a status based on remaining poll retries. Call the returned poller function repeatedly in a loop until it resolves with the next node in the flow or an error.

    Adds ability to intercept the polling request with middleware.

  • #631 15d616d Thanks @ryanbas21! - Add support for PAR in oidc-client requests for redirect flows

Patch Changes

  • #555 d849256 Thanks @ancheetah! - Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.

@forgerock/sdk-oidc@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:30
61a5d24

Minor Changes

  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config
  • #631 15d616d Thanks @ryanbas21! - Add support for PAR in oidc-client requests for redirect flows

Patch Changes

  • #555 d849256 Thanks @ancheetah! - Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.

  • Updated dependencies [4fe7bfe]:

    • @forgerock/sdk-utilities@2.1.0
    • @forgerock/sdk-types@2.1.0

@forgerock/sdk-logger@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Patch Changes

  • #555 d849256 Thanks @ancheetah! - Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.

  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config
  • Updated dependencies [4fe7bfe]:

    • @forgerock/sdk-types@2.1.0

@forgerock/protect@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Patch Changes

  • #578 096733d Thanks @SteinGabriel! - Support signalsInitializationOptions pass-through config from AM in PingOneProtectInitializeCallback.
    • getConfig() detects signalsInitializationOptions in the callback output; if it is a valid plain object, returns it directly as SignalsInitializationOptions
    • Falls back to the existing ProtectConfig construction when the property is absent or invalid (null, string, array)
    • protect() now accepts ProtectConfig | SignalsInitializationOptions so the pass-through config flows in without type assertions
    • Updates vendored Signals SDK from v5.6.0w to v5.6.9w

@forgerock/oidc-client@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #682 35816b4 Thanks @vatsalparikh! - Add user.session() method to oidc client for OIDC prompt=none session verification, with response_type=none and response_type=id_token support.

  • #633 dcb54b2 Thanks @ryanbas21! - Expose subscribe method on journey and oidc client instances, consistent with davinci-client. Allows consumers to listen for store state changes.

  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config
  • #631 15d616d Thanks @ryanbas21! - Add support for PAR in oidc-client requests for redirect flows

Patch Changes

  • #564 15d5af3 Thanks @ryanbas21! - Update interfaces and types that are missing from exports

  • Updated dependencies [35816b4, ec39137, d849256, 4fe7bfe, 15d616d]:

    • @forgerock/iframe-manager@2.1.0
    • @forgerock/sdk-request-middleware@2.1.0
    • @forgerock/storage@2.1.0
    • @forgerock/sdk-logger@2.1.0
    • @forgerock/sdk-oidc@2.1.0
    • @forgerock/sdk-utilities@2.1.0
    • @forgerock/sdk-types@2.1.0

@forgerock/journey-client@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #633 dcb54b2 Thanks @ryanbas21! - Expose subscribe method on journey and oidc client instances, consistent with davinci-client. Allows consumers to listen for store state changes.

  • #581 07015a2 Thanks @vatsalparikh! - Add WebAuthn conditional mediation (passkey autofill) support.

    • WebAuthn.authenticate(step, signal?) derives mediation from WebAuthn metadata (meta.mediation).
    • When meta.mediation is 'conditional', an AbortSignal is used (caller-provided if present, otherwise created by the SDK).
    • If conditional mediation is requested but not supported, authenticate() throws NotSupportedError (and the existing error handling sets the hidden outcome to unsupported).
    • Adds WebAuthn.isConditionalMediationSupported() helper, docs, and unit tests.
  • #684 4fe7bfe Thanks @SteinGabriel! - Add unified cross-platform SDK configuration support

    New utility functions in @forgerock/sdk-utilities convert the cross-platform unified JSON config schema into each client's native config shape. Validation and mapping are owned entirely by the utilities layer — client factories remain typed to their existing config interfaces.

    New in @forgerock/sdk-utilities:

    • makeOidcConfig(json) — validates and maps unified JSON → OidcConfig; throws on invalid input
    • makeJourneyConfig(json) — validates and maps unified JSON → JourneyClientConfig; throws on invalid input
    • makeDavinciConfig(json) — validates and maps unified JSON → DaVinciConfig; throws on invalid input
    • UnifiedSdkConfig, UnifiedOidcConfig, UnifiedJourneyConfig types
    • validateUnifiedSdkConfig / validateUnifiedOidcConfig — pure validation returning Either<T, ConfigValidationError[]>
    • unifiedToOidcConfig, unifiedToJourneyConfig, unifiedToDavinciConfig — pure mappers returning Either<T, ConfigValidationError>
    • AuthDisplayValue, AuthPromptValue types (canonical source — shared between OidcConfig and GetAuthorizationUrlOptions)

    Usage:

    import { makeDavinciConfig } from '@forgerock/sdk-utilities';
    
    const client = await davinci({ config: makeDavinciConfig(unifiedJsonConfig) });

    New in @forgerock/sdk-types:

    • OidcConfig, JourneyClientConfig, DaVinciConfig moved here as canonical types (previously mirrored in sdk-utilities as Mapped* types)
    • AuthDisplayValue, AuthPromptValue types added (renamed from OidcDisplayValue/OidcPromptValue)
    • GetAuthorizationUrlOptions extended with loginHint, nonce, display, uiLocales, acrValues; prompt widened to include 'select_account'

    Updated in @forgerock/sdk-logger:

    • LogLevel now re-exported from @forgerock/sdk-types (single source of truth); runtime behaviour unchanged

    New in @forgerock/sdk-oidc:

    • buildAuthorizeParams forwards all new OIDC authorize params into the URL

    New in @forgerock/oidc-client:

    • endSession appends post_logout_redirect_uri when signOutRedirectUri is set on config
    • Authorize URL construction forwards loginHint, state, nonce, display, prompt, uiLocales, acrValues, additionalParameters from config

    New in @forgerock/journey-client:

    • No API change — consume makeJourneyConfig at call-site to use unified JSON config

    New in @forgerock/davinci-client:

    • No API change — consume makeDavinciConfig at call-site to use unified JSON config

Patch Changes

  • #630 5f55b08 Thanks @vatsalparikh! - patch @forgerock/journey-client: export PolicyParams from journey-client/types

  • #564 15d5af3 Thanks @ryanbas21! - Update interfaces and types that are missing from exports

  • #583 b081582 Thanks @vatsalparikh! - Restore legacy resume() redirect query-param handling.

    resume() now parses and forwards additional URL params (error, errorCode, errorMessage, nonce, RelayState, scope, suspendedId) and uses authIndexValue as a fallback journey value.

  • #557 5fe2f41 Thanks @ryanbas21! - Extend JourneyClientConfig from AsyncLegacyConfigOptions so the same config object can be shared across journey-client, davinci-client, and oidc-client

    • clientId, scope, redirectUri, and other inherited properties are now accepted but ignored — a warning is logged when they are provided
    • serverConfig.wellknown remains required
  • #578 096733d Thanks @SteinGabriel! - Support signalsInitializationOptions pass-through config from AM in PingOneProtectInitializeCallback.

    • getConfig() detects signalsInitializationOptions in the callback output; if it is a valid plain object, returns it directly as SignalsInitializationOptions
    • Falls back to the existing ProtectConfig construction when the property is absent or invalid (null, string, array)
    • protect() now accepts ProtectConfig | SignalsInitializationOptions so the pass-through config flows in without type assertions
    • Updates vendored Signals SDK from v5.6.0w to v5.6.9w
  • #670 832ce89 Thanks @vatsalparikh! - Return JourneyLoginFailure by hitting the previously-unreached LoginFailure branch when start()/next() receives a failure payload with a login failure code

  • Updated dependencies [ec39137, d849256, 4fe7bfe, 15d616d]:

    • @forgerock/sdk-request-middleware@2.1.0
    • @forgerock/storage@2.1.0
    • @forgerock/sdk-logger@2.1.0
    • @forgerock/sdk-oidc@2.1.0
    • @forgerock/sdk-utilities@2.1.0
    • @forgerock/sdk-types@2.1.0

@forgerock/iframe-manager@2.1.0

Choose a tag to compare

@ryanbas21 ryanbas21 released this 08 Jul 15:29
61a5d24

Minor Changes

  • #682 35816b4 Thanks @vatsalparikh! - Add user.session() method to oidc client for OIDC prompt=none session verification, with response_type=none and response_type=id_token support.

Patch Changes

  • #555 d849256 Thanks @ancheetah! - Fixes files distributed in sdk-effects packages. Excludes files not in /dist folder.