Skip to content

Hooks ​

Every hook is called twice: first as reinos_sso_{name}, then as sso_{name} (e.g. reinos_sso_login and sso_login), with the same arguments. The return value of your extension is not used.

sso_login ​

(Added in v.3.0.0) This hook is triggered when a user logs in via a social provider: after the member is found or created, just before the session is started. It is not triggered for banned and pending members.

if (ee()->extensions->active_hook('sso_login') === TRUE)
{
   ee()->extensions->call('sso_login', $memberObject, $isNewUser);
}

From v6.0.0 $isNewUser is only true when the login created the member. Before, it was also true when a new social account was merged into an existing member. (Breaking change)

The module itself uses this hook to create the member entry of Zoo Visitor, see How it works.

sso_connect ​

(Added in v.3.0.0) This hook is triggered when a user connect an existing account to the current logged in account. $providerName is the provider name in lowercase, e.g. google or microsoftgraph.

if (ee()->extensions->active_hook('sso_connect') === TRUE)
{
   ee()->extensions->call('sso_connect', $providerName);
}

sso_before_create_member ​

(Added in v.6.0.0) This hook is triggered before a new member is saved. Change the Member model, e.g. the username, role or custom fields. $userProfile is the Hybridauth\User\Profile of the provider.

if (ee()->extensions->active_hook('sso_before_create_member') === TRUE)
{
   ee()->extensions->call('sso_before_create_member', $memberObject, $userProfile, $providerName);
}

sso_disconnect ​

(Added in v.6.0.0) This hook is triggered after a user disconnected a provider. $providerName is the provider name in lowercase.

if (ee()->extensions->active_hook('sso_disconnect') === TRUE)
{
   ee()->extensions->call('sso_disconnect', $memberObject, $providerName);
}

sso_auth_error ​

(Added in v.6.0.0) This hook is triggered when the login with the provider failed, with the error message of the provider. It is not triggered for the error codes of the module, like email_already_registered.

if (ee()->extensions->active_hook('sso_auth_error') === TRUE)
{
   ee()->extensions->call('sso_auth_error', $errorMessage, $providerName);
}