I have written a Elgg plugin for SignIn or Register using Facebook, Google and Linkedin. When plugin is installed, it shows three buttons en LogIn form and Register Form:
Plugin register or login (if user email is already registered) and sets avatar image from his Social Network profile image.
Plugin source is here:
https://github.com/aleamb/social_signin
Plugin code shows:
- Extends views with custom views.
- Extend login form and register forms
- Use elgg actions
- Use sass for generate custom css
- Plugin settings for administration
- Use Call register and login methos from elgg
- Programatically register user.
- Programatically set user's avatar
- Use search functions.
Your feedback will be highly appreciated.
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.
- ihayredinov@ihayredinov
ihayredinov - 1 like
- aleamb@aleamb
aleamb - 0 likes
- Aldo Li Volsi@aldejes
Aldo Li Volsi - 1 like
- Jerome Bakker@jeabakker
Jerome Bakker - 1 like
- aleamb@aleamb
aleamb - 0 likes
- Herb@HerbWalsh
Herb - 0 likes
- aleamb@aleamb
aleamb - 0 likes
- Herb@HerbWalsh
Herb - 0 likes
- aleamb@aleamb
aleamb - 0 likes
- Herb@HerbWalsh
Herb - 0 likes
You must log in to post replies.Looks like a well written plugin.
A few comments from just browsing through quickly:
1. Change composer 'type' to 'elgg-plugin'. That will allow anyone to use composer require from the project root and it will install the plugin into /mod
2. Instead of extending page/elements/head, I would suggest using 'head' hook or simply elgg_register_js() and elgg_load_js() (and only if the login form is shown).
3. You are loading vendor scripts on each page request, you may want to check if elgg_is_logged_in() and bail early. These scripts are notorious for capturing a lot of data on user interactions and you don't want to give them access to all the pages on the site.
Not sure if you have seen elgg_hybridauth plugin. It does the same thing but without inviting those horrible JS SDKs on your site.
Thank you!!, Ismayil
I didn't know elgg_hybridauth. I will take a look!
Great plugin! Congratulations!
I Hope you Will improve It with upgrades suggested by Ismayil , so i will use or for sure.
(Hybridauth doesn't work with Facebook login, becouse of Facebook). thanks!
Another small hint, if you put your classes in a folder called
classes/SocialSignInPlugin
they can get autoloaded by Elgg.The classes folder supports PRS-0 and PSR-4 class autoloading
Thank you very much!
Yes, i will improve the plugin with all the suggested upgrades
I am running 2.3.7 and when I hit activate for the plugin my site crashed and wouldn't work until i ftp deleted the plugin folder
Hi, Herb
Can you paste or send error logs?
Sorry can't find it in the logs and don't want to try activating it again
I have improved all suggestions:
- Change composer project type
- Remove extends from elements/head and use elgg_load_js in forms view, so social sdk's only load when user is not logged and form and register view are present.
Change lib directory to classes/SocialSignInPluginfor PSR-4 Elgg autoloading
I have tested plugin in elgg 2.3.7 and no problems. For the moment i don't know about errors on Herb's installation
For install plugin, remember execute composer install in plugin directory before activate!
Thanks to all for feedback.
I would like to try but I don't use composer