Codeigniter 3.x Authentication Library? - codeigniter

With the new Codeigniter 3.0 version what authentication libraries do you use?
Flexi auth was very good and robust with great documentation for CI 2.0 but it is old and as I can see it is discontinued. Of course it does not work out of the box with CI 3.0. I have tested it and tried to migrate it to CI 3.0 but as it uses the old ci_sessions schema I have seen that it has a lot work to be made to rewrite all the code parts that use sessions. It seems to work with file sessions and some alterations on its code though.
Community auth has a CI 3.0 version but as I have seen, it has many bugs and it is nowhere near reliable at this time. I have tested it thoroughly and it cannot work properly as it has problems with its token jar system and its cookie management. Users cannot login most of the times and it is being used as a whole third-party library at Codeigniter, which personally I don't like as it has a lot of files/folders that are time consuming to be maintained. I would prefer simple CI libraries with 1-2 models like flexi-auth. Although, I wouldn't mind Community Auth's approach if it worked properly.
Tank Auth was a reliable solution in the past but not with Codeigniter 3.0 as it has many incompatibilities too. Questions about its compatibility with CI 3.0 were asked but no airplanes in the horizon so far.
DX Auth is an old authentication library and as I can see on its github repository, there are some attempts to migrate it on CI 3.0 but I haven't been able personally to test any of them.
So, has anyone successfully integrated (or migrated) any of the previous mentioned libraries on large CI 3.0 web applications? Did you write your own? Did you stick with CI 2 until further CI 3.0 development for that matter?
Update for the down votes
This post about Authentication libraries in codeigniter was very popular and helpful. I believe that posts that help the community in that way should not be closed at least not before some helpful answers. It is not discussed anywhere before and I would really like to see the opinions of more experienced developers for that.

don't let the down votes get ya down.
check out Ion Auth
https://github.com/benedmunds/CodeIgniter-Ion-Auth
take a look at the read me, you will have to rename two files for codeigniter 3. otherwise you can see that there are recent changes to the lib. the author Ben Edmunds is one of the four developers on the new codeigniter council. http://www.codeigniter.com/help/about

Please check Dnato System Login Its Simple, Fast and Lightweight auth codeigniter.
Feature:
-Add user
-Delete user
-Ban, Unban user
-Register new user sent to email token
-Forget password
-Role user level
-Edit user profile
-Gravatar user profile
-Recaptcha by Google
-And much more
Frontend
With Bootstrap Framework.

For a simple library, I use https://github.com/trafficinc/CodeIgniter-Authit (Authit). It is very simple so I can do a lot of customizations to it or just leave it be.

check this library.that is so nice.and with many features
login / logout
Login DDoS Protection
register and signup via email. (send verification code to your email)
users can send private message to other users
user group
create permissions and access control
error in other language
this library for CI2. but if you search about this, you can find lib for CI3
http://codeigniter-aauth-test.readthedocs.io

Related

Single User authentication in Laravel 5

I'm trying to build an internal admin system to get to grips with creating a Laravel app from scratch. Currently everything is public so I'm looking at implementing a very simple login system.
There will be no DB connection needed as we want a single user. We'll store the relevant username and password in the .env file most likely.
I feel like I've looked everywhere and haven't been able to find any tutorials covering this requirement! From everything I've read it seems I have to use a 'custom authentication driver' or possibly build my own user provider class but I have no idea how to go about this task.
The idea is that if the app is expanded in future we'd like to be able to just go back to using Laravel's built in db auth functionality. For this reason it would be nice to retain all the common methods relating to checking the current user, using auth middleware on my routes and managing login tokens etc.
Thanks in advance for any help offered.

How do I use phpoidc?

I hope I am not being to dense but I don't know how to use phpoidc. I have downloaded phpoidc from https://bitbucket.org/PEOFIAMP/phpoidc. I have followed the instructions in the INSTALL file. Now that it it supposedly installed, how do I use it? There does not seem to be any documentation on this.
I just want to set up simple user authentication on my site. I am running CodeIgniter 3.0 rc. I primarily want to allow login with google accounts.
Are you talking about the OP side or RP side?
OP side should be quite self-explanatory as it is a stand alone thing.
RP side needs integration to your application.
The phpRp is just a sample implementation that uses these libraries.
What it does is to create an OpenID Connect request and process the call back to see validate the response. Then, typically, an application needs to associate the iss and sub in the ID Token to a local account: you need a mapping table for it. Once you are done with that, create a session and off you go.

Laravel Bundle OneAuth compatibility with Sentry

My team and I(the business/idea guy) are developing a new Startup using the Laravel framework. I'm not a tech guy but I want to learn as much as possible.
We began with installing and utilizing the Sentry Bundle, and then added the OneAuth bundle for the Facebook login; however, we continued to get errors.
Is OneAuth not compatible with Sentry?
Sentry is coming out with a socialplugin soon. Should we just wait for that or how should we go about this?
OneAuth author here, the problem right now is Sentry is not using Laravel Auth Driver to authenticate the user which make it difficult for the integration to happen. The two way to tackle the limitation:
Convert all Auth called in OneAuth to use Laravel\IoC, this would require Sentry to register IoC on their side.
Sentry to add an adapter class (extends Laravel\Auth\Drivers\Driver)
Either ways, there some works need to be done on Sentry side, I'm open for solution if they are looking to use OneAuth as their social plugin.

SocialAuth.net VS DotNetOpenAuth

browsing in this website, i found some interesting suggestions. SocialAuth.net and DotNetOpenAuth.
i started using SocialAuth. It's very simple to use and it worked (i only tried with google so far thou). My only problem with this library is that it doesn't provide a way to retrieve the Contacts from the providers it offers without logging you in with the new (or latest) provider you requested the list of Contacts.
in other words, i MUST sing in my people with a local username and password for security reasons. BUT i would like to benefit from this library's feature of getting contacts from different providers. Thing is that it overrides my currently logged in user (using FormsAuthentication) for the Authentication Token sent by google.
Has anybody confronted this issue?
Does DotNetOpenAuth doesn't have this flaw?
Thanks
Are you sure you understand OAuth?
It could be that I misread your question, and to be honest I don't have any experience with socialAuth.net (will look into it).
To me it seems like you think socialAuth.net requires you to login, I know this is not the fact in DotNetOpenAuth. Only place you need to login (if you aren't already) is the service you are connecting with (Twitter, Facebook, etc.)
Of course it could also be I just answered your question :D
Maybe you should check the last changes in source:
http://code.google.com/p/socialauth-net/source/list
As you can see, in r320 it seems they have fixed this issue

Confused about using ion auth or building custom authentication library

Hi I am building my first website with codeigniter. I am using registration form to allow users to register on the site. I have already built up the form and was heading towards login methods when I came across some authentication libraries in codeigniter. Some of them were ion auth, tank auth, etc. I heard that ion auth is pretty good one over others I want to know whether it is worth using it now when I have built my registration system already or should I skip to building custom authentication library?
All of these authentication libraries work in 90% of users needs. For instance Tank auth (my personal favorite) has a lot of features which can be disabled (so it is modular) and thus you can create authentication with elements suitable for your web site. If you find these elements necessary and you do not have time/knowledge/... to code it yourself, I suggest that you implement library.
However if you have some special authentication requirements or you do not need those additional features, you should stick with your custom made. Or you can choose to write one yourself, and use it in your projects. Benefits of custom made auth library are: you will learn a lot in the way and you will have all the features you want and need just the way you like it.
Both ways have good/bad sides - it is up to you.
Thank you for your time. All the best!
If all you've built out so far is the views you can easily drop Ion Auth in to handle your authentication.
The controller and views included with Ion Auth are just examples to get people started.

Resources