Social Sign On module will add the possibilty to login in to you ExpressionEngine site via your favorite Social Media site. (MSM Ready)
currently supported
Make sure your system meets the minimum requirements:
Website Session type
to Cookies only
in the EEcms settingsFor every paid addon you need to validate your license in order to activate the module.
On a local environment, like *.dev
*.local
*.localhost
*.test
the license is valid for testing and building a new or existing sites.
For every other domain, you need to have a valid license.
Once installed, you will asked to enter your license key. When you entered a valid license you can hit the "Save license" button. This will start validating your license and will redirect you to addons.reinos.nl to login into your account. You can also register a new account in this process.
Once logged in, you are asked to use your current account or to login with another one.
Using the current logged in account, the server will check all info related to your license and once valid, it will redirect you back to your site where you see either a success message or an error message.
This module is using a license field to check if the license for the module is valid or not. On addons.reinos.nl you can check your license and add your valid domains.
In the Module CP you can enter then your license
When you enter a wrong license, the module will not work and it shows you an warning
Sometimes it happens that the license system says you have an invalid license. When this happens, make sure you have entered your domain url in your account, next to your license on addons.reinos.nl.
If this will not fix your license problem, please contact us on https://addons.reinos.nl/support
As already know the SSO module will allow users to login on your site via a social provider. Below a couple of cases how the module will handle the login and what it will do.
no
there will be shown an error on the screen and the user will be asked to enter a new email address.yes
the user will be logged in on the account that already exists on the EE site.On the CP page you can modify a couple of things.
Also you can edit your settings per provider (social site) and per site there are different settings
Name | Description |
---|---|
Enabled | Is the provider enabled or not |
ID | Your API ID |
Secret | Your API Secret |
To get the API keys follow the following steps:
Name | Description |
---|---|
Enabled | Is the provider enabled or not |
ID | Your API ID |
Secret | Your API Secret |
To get the API keys follow the following steps:
Name | Description |
---|---|
Enabled | Is the provider enabled or not |
ID | Your API ID |
Secret | Your API Secret |
To get the API keys follow the following steps:
Name | Description |
---|---|
Enabled | Is the provider enabled or not |
ID | Your API ID |
Secret | Your API Secret |
To get the API keys follow the following steps:
Name | Description |
---|---|
Enabled | Is the provider enabled or not |
ID | Identifier ID of the Services ID |
Team ID | Team ID, can be found in the top-right of your screen |
Key ID | The ID of your key |
Key Content | The actual content of your (private) key |
To get the API keys follow the following steps:
APP IDs
and enable "Sign In with Apple".Serivces IDs
and enable "Sign In with Apple". Configure it so it will use the Primary App ID
created in step 2. Also, add your domain and redirect/callback URL e.g. https://your-domain/sso_route/auth/Apple
This is your Identifier ID.To customise the email template, you can alter the template in the Template Manager -> System Templates -> Email and look for SSO.
With the has_connected_providers
tag you can check if the user has any provider connected to his account.
{exp:reinos_sso:has_connected_providers}
Example
{exp:reinos_sso:has_connected_providers}
The user has a provider connected
{/exp:reinos_sso:has_connected_providers}
With the login_links
tag you can add the provider to your website
{exp:reinos_sso:login_links}
Below are the Tag Parameters. Those parameters can be used in the tag described above, Default to the current_url
.
the return url where the user will be redirected after logged in
return=""
Give a return url for when the email is unavailable from the social channel. Default to the return
param
no_email_return=""
the return url for when the user is new. Default to the return
param
new_member_return=""
Below are the variables. Those variables can be used in the tag described above
The login link to a provider
{exp:reinos_sso:login_links}
{provider_link}
{/exp:reinos_sso:login_links}
The Provider name
{exp:reinos_sso:login_links}
{provider_name}
{/exp:reinos_sso:login_links}
With the linked_providers
tag you can connect multiple providers to your account
{exp:reinos_sso:linked_providers}
Below are the Tag Parameters. Those parameters can be used in the tag described above, Default to the current_url
.
the return url where the user will be redirected after logged in
return=""
Below are the variables. Those variables can be used in the tag described above
The connect link to a provider
{exp:reinos_sso:linked_providers}
{provider_connect_link}
{/exp:reinos_sso:linked_providers}
The disconnect link to a provider
{exp:reinos_sso:linked_providers}
{provider_disconnect_link}
{/exp:reinos_sso:linked_providers}
The Provider name
{exp:reinos_sso:linked_providers}
{provider_name}
{/exp:reinos_sso:linked_providers}
Variable to check if a user is connected
{exp:reinos_sso:linked_providers}
{if provider_is_connected}
<a href="{provider_disconnect_link}">Disconnect from {provider_name}</a>
{if:else}
<a href="{provider_connect_link}">Link with {provider_name}</a>
{/if}
{/exp:reinos_sso:linked_providers}
With the login_error
tag you can print the login error on your screen
{exp:reinos_sso:login_error}
With the email_error
tag you can print the email error on your screen (if you collect a email if needed)
{exp:reinos_sso:email_error}
When a user that has been logged in with the SSO module want to change their password, it will give the user an error about the current given password.or No matching hash algorithm
.
This because the SSO module will not copy your Social Provider password to EE (doh, we don't know that ofc! ;-) ).
Because we cannot control the way how a password is saved or updated, we need to take a different path.
By adding the tag {exp:reinos_sso:update_password}
directly under the {exp:member:edit_profile}
tag, we will bypass the current password for SSO users that did not set a password.
(Added in v.3.0.0)
This hook is triggered when the user hits the callback url
if (ee()->extensions->active_hook('sso_callback') === TRUE)
{
ee()->extensions->call('sso_callback');
}
(Added in v.3.0.0) This hook is triggered when a user is logged in via a social provider
if (ee()->extensions->active_hook('sso_login') === TRUE)
{
ee()->extensions->call('sso_login', $memberObject, $isNewUser);
}
(Added in v.3.0.0) This hook is triggered when a user connect an existing account to the current logged in account
if (ee()->extensions->active_hook('sso_connect') === TRUE)
{
ee()->extensions->call('sso_connect', $providerName);
}
access_token
reinos_
due the release of the EE store (**Breaking changes)*Note: There is a change you will have to validate the license again
**Note: Because the module has been renamed with a prefix reinos_
there is an update path
by simply add the new update to* your site and install it. By installing the module, you are disabling the old module
that can be deleted afterward. Also note that you have to rename the module calls and hooks with a prefix reinos_
Also note that the module need to be installed twice, as the first installation will modify some files in order to safely migrate the module
See this article about the rename https://addons.reinos.nl/news/modules-renamed
{exp:sso:email_error}
tag in the collect email tag{exp:sso:auth_error}
tag for general auth errors{exp:sso:linked_providers}
for connect multiple providers to one account{exp:sso:login_error}
tag (use {exp:sso:auth_error}
)v2.12.0
no_email_return=""
param that is used when there is no mail available from the social loginnew_member_return=""
when the user is new*Note: you need to add your license key and license email from addons.reinos.nl in order to validate your license and add a valid domain url in your license field on addons.reinos.nl/profile/licenses or the module will not work on a live site. Also make sure you have read the license section in the documentation
&
is already encoded