JavaScript API Methods \ Single Sign-On
Automatically sign users in as they browse between multiple and independent websites in your eco-system or among partner sites. Share user data between multiple websites on different domains and take away the need for your users to register new accounts or re-enter their authentication credentials on each of your websites.
The Single Sign-On implementation guide is available here.
do_register_sso_session
This method has to be called on every page and only for users that are logged in into your website.
Calling this method will set a cookie with the Single Sign-On session token for the user that is currently browsing your website.
By doing so the Single Sign-On service will be able to recognize the user when he switches from one of your websites to another.
A new sso_session_token can be generated using our API.
// Registers a new Single Sign-On session for the current user.
_oneall.push(['single_sign_on', 'do_register_sso_session', <sso_session_token>, <force_cookie>]);
/*
<sso_session_token> : string, required
The value must be a sso_session_token generated by the OneAll API.
<force_cookie> : boolean, optional, defaults to false
Per default the cookie is set only once. Set to true to set the cookie on each pageview.
*/
do_check_for_sso_session
This method has to be called on every page and only for users that are not logged in into your website.
When calling this method, Single Sign-On will try to recognize the person that is currently browsing your website and redirect that user to the specified callback_uri if there is an active Single Sign-On session.
// Checks if the user has a Single Sign-On cookie and redirects him to the callback uri if it's the case.
_oneall.push(['single_sign_on', 'do_check_for_sso_session', <callback_uri>, <relogin_same_domain>]);
/*
<callback_uri> : string, required
A full URL to the callback script on your server.
<relogin_same_domain> : boolean, optional, defaults to true
Set to false to redirect the user only once per domain.
*/
do_event_for_sso_session
When calling this method, Single Sign-On will try to recognize the person that is currently browsing your website and launch the given function if there is an active Single Sign-On session.
// Checks if the user has a Single Sign-On cookie and executes the given function if it's the case.
_oneall.push(['single_sign_on', 'do_event_for_sso_session', <event>, <relogin_same_domain>]);
/*
<event> : JavaScript function, required
The function that will be executed.
Example - the session data is available as first argument:
var event = function(data) {
console.log(data);
}
<relogin_same_domain> : boolean, optional, defaults to true
Set to false to execute the function only once per user per domain.
*/
set_sso_realm
By default, users that have logged in on one of your websites will automatically be logged in on all of your websites that are using the Single Sign-On service. By using a realm you change this behavior and subdivide your websites into groups.
Users logging in on a website in a given realm will automatically be logged in when they vist another website that is part the same (or a dependent) realm, but not when visiting a different realm.
// Defines the realm of the current Single Sign-On session.
_oneall.push(['single_sign_on', 'set_sso_realm', <top_realm>, <sub_realm>]);
/*
<top_realm> : string, required
This is the primary Single Sign-On group.
<sub_realm> : string, optional
This is the secondary Single Sign-On group. It can be used to subdivide the top realm.
*/
/*
Users that have per example logged in on ...
... the realm ['fruits'] will also be logged in on the realm ['fruits', 'apples'] or ['fruits', 'oranges']
... the realm ['fruits', 'apples'] will not be logged in on the realm ['fruits', 'oranges']
... the realm ['fruits', 'apples'] will be logged in on the realm ['fruits']
*/
set_debug
By using this method you can enable the Single Sign-On debugging mode. If enabled, Single Sign-On will write informational messages on how it processes the data to the browser's console.
Default: false
// Enables or disables the debugging mode.
_oneall.push(['single_sign_on', 'set_debug', <enabled>]);
/*
<enabled> : boolean (true, false)
Enables or disables the debugging mode.
*/