I’ve been looking at lots of different auth systems and pretty sure I’m going to go with this one. The docs is what won it over for me, really nice.
I had found this review:
http://stackoverflow.com/questions/346980/what-code-igniter-authentication-library-is-best
(3rd answer)
Which was really informative.
I was wondering though, how many of these issues have been resolved? :
1* Only lets users ‘reset’ a lost password (rather than letting them pick a new one upon reactivation)
2* Homebrew pseudo-event model - good intention, but misses the mark
3* Two password fields in the user table, bad style
4* Uses two separate user tables (one for ‘temp’ users - ambiguous and redundant)
5* Uses potentially unsafe md5 hashing
6* Failed login attempts only stored by IP, not by username - unsafe!
7* Autologin key not hashed in the database - practically as unsafe as storing passwords in cleartext!
8* Role system is a complete mess: is_admin function with hard-coded role names, is_role a complete mess, check_uri_permissions is a mess, the whole permissions table is a bad idea (a URI can change and render pages unprotected; permissions should always be stored exactly where the sensitive logic is). Dealbreaker!
9* Includes a native (poor) CAPTCHA
10* reCAPTCHA function interface is messy
It’s not going to make a difference on my using DX Auth, but it would be nice if some were resolved.
On 1:
I’m not sure how password resets work, but I hate sending a random plain text one via email. Sending a special link in the email with a one time or one day use link to reset the password on the site seems to work best.
I could care less about 2-5.
6 is really simple to fix and would be nice
7 is somewhat important
I don’t know about 8.
And 9-10 aren’t very important.
About the temp user table, if someone signs up and hasn’t activated yet, if someone else registers does it check their username and password against the temp table as well as the main one?
Any reason a second table was used rather than just putting a key in the main table for activated or not?
Thanks,
Adam