The JS Connector consists of a set of methods and events along with a set of configuration parameters which are summarized below:


Methods

The JS Connector API has the following methods:

OIDC.doInit( { } )

Sets the global configuration used for any doConnect calls.

ParameterDescriptionDefaultRequired
client_idSee parameter description in documentation of the Authorize endpoint.
 
Yes
redirect_uri

See parameter description in documentation of the Authorize endpoint.

Read more about how the Connector can help with window/inline management.

 
Yes
oauth_url

Absolute URL to the OIDC Authorize endpoint.

(default authorize endpoint)
No. The OIDC Connector determines the correct URL value via the output from oidc_url
oidc_urlAbsolute URL to the OIDC Openid-configuration endpoint.
(default .well-known endpoint)
No. The OIDC Connector embeds the correct URL value
scope

See parameter description in documentation of the Authorize endpoint.

'openid'No
methodSpecify the desired frame method, as explained here
How will the login dialogs be presented to the user?
'redirect'No
response_type

See parameter description in documentation of the Authorize endpoint.

'code'No
response_mode

See parameter description in documentation of the Authorize endpoint.

'query'
No
promptSee parameter description in documentation of the Authorize endpoint.
''
No
acrCorresponds to the acr_values parameter as described in documentation of the Authorize endpoint.4No
login_hintCorresponds to the login_hint parameter described in documentation of the Authorize endpoint.
''
No
stateSee parameter description in documentation of the Authorize endpoint.
'untouched'
No
nonceSee parameter description in documentation of the Authorize endpoint.
''
No
ui_localesSee parameter description in documentation of the Authorize endpoint.
'nb'
No
id_token_hintSee parameter description in documentation of the Authorize endpoint.
''
No
sign_idSee parameter description in documentation of the Authorize endpoint.
''
No
sign_txtSee parameter description in documentation of the Authorize endpoint.
''
No

The doInit() optionally returns a Promise object if Promise is supported by the browser.

For increased security in a production environment, it is highly encouraged to use nonce and state parameters when interacting with the OIDC service.

OIDC.doConnect ( { callback: function(err, data), config: { }, inlineOnLoadCallback: function(), inlineElementID: ".." } )

Start authentication session with parameters given in an object of key-value pairs.

ParameterDescriptionDefaultRequired
callback

Function callback that is called when JS Connector receives XDM events as explained here.

Arguments are:

  • err - error messages, if any
  • data - returned object with accessToken, nonce etc.
nullNo
configAn object with key-value pairs of configuration parameters can be given that can override any parameters given in doInit.
{}
No
inlineOnLoadCallbackSpecify a callback function that will attach to the onload event for the injected iframe when using inline method.
null 
No
inlineElementIDA string containing the ID of a DOM element that will have the OIDC login iframe injected into.
null
Required when using inline method

The doConnect() method returns a reference to the window object if method=window and the iframe element if method=inline.

Events

The following custom events are relevant for the JS Connector.

Event for loading JS Connector

NameDescription
oidc-connector-loadedTriggered on document.body element when JS Connect is loaded and ready to receive API calls

XDM in redirect_uri communication for window/inline method

When using method window or inline, you can use Cross-domain messaging (postMessage) or XDM in the callback page on redirect_uri.

This way you can trigger the following types of messages to seamlessly integrate with the JS Connector on the parent page:

Type
When
Example
oidc-connector-response-dataAuthentication success, provide an optional data object
windowParent.postMessage( JSON.stringify( { type: 'oidc-connector-response-data', data: {} } ), '*' )
oidc-connector-errorAuthentication error, provide optional error information
windowParent.postMessage( JSON.stringify( { type: 'oidc-connector-error', error: "Some error" } ), '*' );
  • No labels