Loading...
 
Skip to main content

History: Hybridauth social login

Source of version: 39 (current)

Copy to clipboard
            ! {{page}}
The connection to the website through social networks uses the [https://hybridauth.github.io/documentation.html|Hybridauth] library it allows the visitor, to quickly register on a site by letting their network provide information about themselves. The principle of operation is simple. When a user chooses a social network, he is sent to the server of the latter. There he is invited to enter his details. When they are validated, he is returned to the Tiki site on which he wanted to connect.

!! Configuration steps 
To achieve this some data must be provided:
''Note: In this document YourSocialNetwork represents the name of the social network of your choice.''

{TABS(name="socialnetwork_hybridauth_tabs" tabs="Tiki26+|Tiki25-")}
First, you need to enable the Social Network feature in Tiki. To do this you need to login as admin, go to the Admin dashboard in the menu __Settings __ -> __Contol Panels__. Check your admin filter preferences is set to advanced and in the Panel Feature, Mail and Sharing enable __Social Network__. (tiki-admin.php?page=features#Mail_and_Sharing)

Then, go to the __Social networks__ panel -> __General__ tab (tiki-admin.php?page=socialnetworks#content-admin1-1) select one or several site you want your users to be allowed to sign in and apply.

{img type="fileId" fileId="1984" thumb="box" width="300"}

Secondly, go now to the tab __Settings__, your site choices will be visible in different section. In each section the YourSocialNetwork login allowed checkbox should be checked so you can enable/disable a single access. Under it you will find a button __More/Less__ that toggle specific information you need to provide to allow your users to login using this method.

{img type="fileId" fileId="1985" thumb="box" width="300"}

Enter the required information (check the samples below)

In the Control Panel __User Settings__ tab __User Settings__ you also need to enable "User preferences screen".

/////

First, choose your social network(s). To do this, go to __Settings __-> __Users & Community__ -> Social networks -> General tab or tiki-admin.php?page=socialnetworks#content_admin1-1 and make your choice(s) then validate.
{img type="attId" fileId="106" attId="106" class="img-responsive rounded"}

Secondly, still in "Configure social network integration", go to the Settings tab (tiki-admin.php?page=socialnetworks#content_admin1-2), your choices will be visible in well framed zones above. In each zone check the box __YourSocialNetwork login allowed ?__ by doing that a button leading to your site will be available on the login page but will not be functional. 

Thirdly, turn in each area click on the more/less button...
{img type="attId" fileId="107" attId="107" class="img-responsive rounded"}

{TABS}

!! Parameters to manage the users and their account or items

You will have to complete different parameters. The mandatory fields are YourSocialNetwork Application ID and YourSocialNetwork Application secret. 
For a successful experience in Tiki, we advise you to check the boxes below.

YourSocialNetwork auto-create user?
YourSocialNetwork user prefix to auto-create
YourSocialNetwork auto-create user email?
YourSocialNetwork auto-create user tracker item?
YourSocialNetwork auto-create user name(s)?
{img type="attId" fileId="108" attId="108" class="img-responsive rounded"}

!!! Note
The field YourSocialNetwork user prefix to auto-create is filled with the initial of the network you have chosen. So the username will be the combination of the value in this field and a sequence of numbers that will be assigned to it.


This will automatically create a user in Tiki that will be in the default register group. 
For this to work properly you would need to enable the User preferences screen option, you can find this by going to Settings -> User Settings tab -> User preferences screen (http:example.org/tiki-admin.php?page=user#contentadmin_user_setting-1).

!! Troubleshootings
!!! TikiHybrid_construct : this site is not register
{img type="attId" fileId="109" attId="109" class="img-responsive rounded"}
TikiHybrid_construct : this site is not register with it means that you haven't insert the ID and the secret code of your Application yet. 

!!! TikiHybrider error : A valid CallBack url is required
{img type="attId" fileId="110" attId="110" class="img-responsive rounded"}
TikiHybrider error : A valid CallBack url is required means the path in the socnets Login Base Url field in Settings -> Users & Community -> Social networks -> Settings is not correct. Make sure to have in this field the value https://<your domain name> tiki-login_hybridauth.php?provider=

!!! Facebook login "sorry something went wrong"
If you get an error message from Facebook like "sorry something went wrong", then most likely Facebook login GraphAPI is semi-dead.
{img attId="184" thumb="box" width="500"}
{img attId="183" thumb="box" width="300"}
 You can check it via: https://metastatus.com/?ref=dfc&fbclid=IwAR2nlyOc2dpZJjzc36_upUyEtYps_7IWAOjOhl9tNwEt2sV5daVnQK9kot8#developerplatform


!! Supported providers
Latest list:
https://github.com/hybridauth/hybridauth/tree/master/src/Provider
https://hybridauth.github.io/providers.html

As of 2022-11-30:
Apple
Amazon
AOLOpenID
Authentiq
AutoDesk
BitBucket
Blizzard
Discord
Disqus
Dribbble
Dropbox
Facebook
Foursquare
GitHub
GitLab
Google
Instagram
Keycloak
LinkedIn
Medium
MicrosoftGraph
OpenID
ORCID
Paypal
Reddit
Slack
Spotify
StackExchange
Steam
Strava
SteemConnect
Telegram
Tumblr
TwitchTV
Twitter
WeChat
WindowsLive
WordPress
Yahoo
QQ

!! Samples
''Authentication for any Social Network''
Once enabled go to the section YourSocialNetwork on the Social Netwok settings tab.
There you will need to fill several fields to allow your users to login with their YourSocialNetwork credentials.

* YourSocialNetwork Application ID 
* YourSocialNetwork Application secret
* Enable YourSocialNetwork Auto-create user
* Enable YourSocialNetwork Auto-create user email
* Enable YourSocialNetwork Auto-create user name(s) 

!!! Authentication using Gitlab
Once enabled you need to enter values for required fields from YourSocialNetwork.

To find and set your Gitlab authentication you will need to create an application and copy the information.
Go to Gitlab, login and enter in your Profile, "User Settings" => Applications.
There enter a name for your application (any name). Keep the checkbox "Confidential" checked. In the list of "Scopes" select "api". Once you save you will be redirected to a page where you will find the value for the fields listed above.

{img type="fileId" fileId="1986" thumb="box" width="300"}

Once validated the Tiki settings for YourSocialNetwork will show 2 URL.
Go back to your Gitlab settings and indicate them as the "Redirect URI" or "Callback URL"

{img type="fileId" fileId="1987" thumb="box" width="300"}

!!! Authentication using Facebook login
Once enabled you need to enter values for required fields from YourSocialNetwork.

First you must have a Facebook developer account, login and go to your app page there : https://developers.facebook.com/apps/

On your app page, Click on the __Create app__ button. Click on the __Set up Facebook login__ radio button and click on __Next__.
Select for which plateform you want to create your app, __Website__ and for the question "Are you building a game?" answer no and click on __Next__.
Give a name for your app in the field "App contact email" if different from you Facebook Developer Account, change the "App contact email" and click on __Create app__.
You will be asked to enter your Facebook credentials to validate. Once created you will be redirected to a new page. On the left (or right) menu, go to __Settings__ -> __Basics__. There you will find your "Facebook Application ID" and "Facebook Application secret". Once there, in the __app domains__ field enter your Tiki domain where you will use the Facebook login. IE: "example.org"

If you enabled he option "YourSocialNetwork Auto-create user email" you need to modify your Facebook app permissions to allows your app to read a person's primary email address.

On the Meta For Developer site go to your app -> __Use cases__ -> __Authentication and account creation__ click on "Edit" and add the email permission.
 
~tc~ (alias(Social-Networks-Configuration))

(alias(HydridAuth)) (alias(Hydrid Auth))

 ~/tc~