Step 4. Configure the SDK
The Ping (ForgeRock) Login Widget requires information about the server instance it connects to, as well as OAuth 2.0 client configuration and other settings.
To provide these settings, import and use the configuration
module and its set()
method.
The Ping (ForgeRock) Login Widget uses the same underlying configuration properties as the main SDK. Add your configuration under the forgerock
property:
// Import the modules
import Widget, { configuration } from '@forgerock/login-widget';
// Create a configuration instance
const myConfig = configuration();
// Set the configuration properties
myConfig.set({
forgerock: {
// Minimum required configuration:
serverConfig: {
baseUrl: 'https://openam-forgerock-sdks.forgeblocks.com/am',
timeout: 3000,
},
// Optional configuration:
clientId: 'sdkPublicClient', // The default is `WebLoginWidgetClient`
realmPath: 'alpha', // This is the default if not specified
redirectUri: window.location.href, // This is the default if not specified
scope: 'openid profile email address', // The default is `openid profile` if not specified
},
});
Set your Ping (ForgeRock) Login Widget configuration at the top level of your application, such as its This ensures the Ping (ForgeRock) Login Widget has the configuration needed to call out to your PingOne Advanced Identity Cloud or PingAM server whenever and wherever you use its APIs in your app. For example, you must set the configuration before starting a journey with |
SDK configuration properties
The configuration properties available in both the SDK and the Ping (ForgeRock) Login Widget are as follows:
Property | Description | ||
---|---|---|---|
|
An interface for configuring how the SDK contacts the PingAM instance. Contains |
||
|
The base URL of the server to connect to, including port and deployment path. Identity Cloud example:
Self-hosted example:
|
||
|
A URL to the server’s Use the Example:
Self-hosted example:
|
||
|
A timeout, in milliseconds, for each request that communicates with your server. For example, for 30 seconds specify Defaults to |
||
|
The realm in which the OAuth 2.0 client profile and authentication journeys are configured. For example, Defaults to the self-hosted top-level realm |
||
|
The name of the user authentication tree configured in your server. For example, |
||
|
The |
||
|
The
For example, |
||
|
A list of scopes to request when performing an OAuth 2.0 authorization flow, separated by spaces. For example, |
||
|
A threshold, in seconds, to refresh an OAuth 2.0 token before the Defaults to |
||
|
Specify whether the SDK should output its log messages in the console and the level of messages to display. One of:
|
||
|
Specify a function to override the default logging behavior. |
||
|
The API to use for storing tokens on the client:
|
||
|
Override the default For example, the key used for storing tokens consists of the
|
||
|
Specify whether to include an The server can use the value of this header to alter the logic of an authentication flow. For example, if the value indicates a JavaScript web app, the journey could avoid device binding nodes, as they are only supported by Android and iOS apps. Defaults to |
Next
Next, you can Step 5. Instantiate the widget.