Single Sign On Script / Library / API in PHP - php

I have tried googling a lot but couldn't find a library which can provide me single-sign on feature for my website.
I am looking for similar script like stackoverflow is using for facebook, twitter, google, openid etc...
I have tried hybridauth, http://hybridauth.sourceforge.net/ but it's not working for me.
Could you guys please suggest me other alternatives?

I've seen several website using this library : http://www.janrain.com/products/engage
(formerly https://rpxnow.com/)
I have not personally tried..

Why not OpenID itself? I heard good thing about it, and the same, as you specified, SO use it. There's an OpenID website that keep track of all libraries found from official OpenID team of third-part solution that you can find here: http://openid.net/developers/libraries/.
Choose what suits best your needs.
Notice that they warn you:
We have setup a code repository for gathering libraries and other supporting examples. While several of these libraries have been tested, they are maintained by members of the OpenID community and are not necessarily known to work.

Related

Any simple php lib to auth with Google, FB, Twitter

Is there something like Hybridauth3, Loginza, or uLogin (but not those as I understand they are not supported by the teams anymore)? Hybridauth is too complex for me for simple auth.
As long as you know how to use code libraries (packages) here is one that is rather popular: https://github.com/laravel/socialite
This one deals with just about any OAuth2 services: https://packagist.org/packages/league/oauth2-client
And here we have a list of SSO packages provided via the composer package manager: https://packagist.org/?q=sso&p=0
Hope this helps you out.
Have you looked at thephpleague's package. Their pakages are always well maintained.
https://github.com/thephpleague/oauth2-client
and even specifics for:
Google (https://github.com/thephpleague/oauth2-google) and
Facebook (https://github.com/thephpleague/oauth2-facebook)
I have used auth libraries from here
opauth and they work quite well.
Libraries from oauthlogin, are also pointed to be reliable but not free

CodeIgniter Authentication System that allows 3rd party auth?

My question is rather simple. Is there a system for CodeIgniter that allows both local and 3rd party login? (Such as FB/Twitter/Google etc.)
I've tried A3M but it's hard to use and requires tinkering before it will even work out of the box, as is the case with outdated software.
My current solution is flexi auth, however it doesn't offer 3rd party login at all, and after an email to the developer it doesn't look like he's planning on integrating it anytime soon.
So does anyone know of a good system that is up-to-date and provides both 3rd party and local login?
If there isn't one, what other PHP framework does have such a package?
Edit for Clarity: I'm looking for a system that does both these things. While I appreciate the answers and comments with systems that I can integrate myself, the end result of that will be shaky at best. There's gotta be someone who's done this before, all integrated into one package so it's designed to work together.
I was also looking for something like this just a month ago, but unsuccessfully. The only framework that has it all integrated in a simple way that I have seen is meteor, but it is not a PHP framework.
I had to do it myself by wrapping different PHP libraries in CI libraries. The source code is on github: CI Twitter and Who You Meet (a live web app), that has Twitter, LinkedIn and Facebook authentication and also a lot of local authentication logic with email verification and password recovery.
I know it can be considered a shameless promotion, but I hope it is useful. Although it is not exactly what you are looking for, it seems to be rather stable, so feel free to re-use it.
Maybe you will have time to extract all this logic in a standalone library (like I did for twitter) for other folks to use :)
If you want a CI OAuth2 implementation you can use this library which is both client and server:
https://github.com/alexbilbie/CodeIgniter-OAuth-2.0-Server
Otherwise for OpenID use this library:
https://github.com/EllisLab/CodeIgniter/wiki/OpenID

Zend OpenId and Google

Does the current Zend_OpenId ( Release 1.10.8 ) work with Google? I am working on a project that will only use OpenId ( and maybe OAuth ) as the login and would love to know before spending countless hours with the dreaded Zend Framework :)
Nope, currently it does not.
But there is a lot of similar articles about how to "patch" zend_oauth to be able to work with openid 2.0
Like this: http://framework.zend.com/issues/browse/ZF-6905
It really works, i use such solution for about half of year without any troubles.
ps: due to it is a some kind of "dirty hack" - this solution does not provide ability of retrieving additional info, such as name, email, etc.
No, Zend_OpenId doesn't work with Google without patching.
You should use instead janrain implementation (http://openidenabled.com/php-openid/). It supports the OpenID Google Apps discovery.

Is there an easier way to implement openid?

I've been banging my head against the wall trying to add openid to my PHP webapp, but none of the libraries provided seem to do it in a clean and simple way.
Is there any way to implement openid SSO without being forced into more design choices than is necessary?
The janrain library - being the most popular - is also the most unwieldy, although it seems to be the only one getting significant maintenance. Aside from lacking a clear and simple tutorial, it also imposes some strange filesystem requirements and code dependencies.
Any and all suggestions are welcome. I realize I'm interacting with other servers and that redirects and callbacks are required. Please bear in mind, this isn't my main complaint, I understand the nature of what I'm working with.
I just wish it was easier and more clearly laid out!
If you're using PHP5, I suggest trying LightOpenID.
I use the Zend openid library (best of a bad bunch), but it doesn't support all the latest openid features - not found a perfect implementation yet tbh..
Tutorial describes how to implement Google login( yahoo,etc only just change the URLs, source code is same) in PHP using LightOpenID.

PHP library for OpenID

About to start working on a social networking site, but I'd like to incorporate OpenID logins.
The JanRain plugin is packed in Debian, but seems flakey, and my brief interactions with it so far have not gone well. There's a bunch of others out there, but which ones are people using in production?
The OpenID Wiki has a great list of libraries available for PHP. Always begin your searches in the official documentation.
I have personally used and recommend EasyOpenId (requires PHP OpenID).
See PHP library for openID for a list of other PHP OpenID libraries.
I personally use the PEAR OpenID library.
I've used the Zend_OpenID library from the Zend Framework and had good success with that. Very easy to setup and very easy to use. Their documentation on it is pretty extensive as well and comes with some good code samples that should show you everything you need to know. I used this briefly on one of my sites I was working on and only removed it because users didn't like OpenID in general. But the implementation was quick and easy.
Zend Framework OpenID Documentation

Categories