flexi auth | User Authentication Library

haseydesign edited this page Sep 15, 2012 · 1 revision
Clone this wiki locally

flexi auth is a free user authentication (User login) library for use with the CodeIgniter 2.0+ framework

The flexi auth library initially started out as a modified version of the popular Ion Auth library. As the original library was tweaked with feature after feature being added, the original code base had transformed into a new library all of its own.

Quick Links

To give you a clear example of the features available with flexi auth, there is a complete working online demo that is also available to download with the library.
Demo: http://haseydesign.com/flexi-auth/

To then get you started with using flexi auth, there is a detailed user guide detailing every function available with the library.
User Guide: http://haseydesign.com/flexi-auth/user_guide/

For any support queries, please post your questions to the flexi auth libraries CodeIgniter forum thread.
Support: http://codeigniter.com/forums/viewthread/224351/

The flexi auth library is available to download from its Github repo.
Download: https://github.com/haseydesign/flexi-auth

The Feature List

Core Functions

  • User registration, with options to send an activation email, auto activate or suspend an account pending review by an admin.
  • Login function including a ‘Remember me’ option.
  • Logout function, with the option to log a user out of all computers they are logged into, or just the current computer.
  • User permission validation functions to check a users user group, privileges and login status.
  • Functions to reset forgotten passwords.
  • Functions to validate a users change of email address.
  • Password validation helper functions.
  • Many functions for obtaining user data stored within the database.
  • Admin CRUD functions to manage records within the libraries database tables.


  • Passwords are hashed using the popular PHPASS library.
  • Login sessions are managed via a hashed session token technique as described by Barry Jaspan.
  • The session tokens mentioned above are further secured using CI’s encryption library.
  • Users making multiple failed login attempts can be set to have any further login attempts throttled by preventing them from making any further attempts for a short definable time period.
  • Googles reCAPTCHA or a custom math based question and answer CAPTCHA can be deployed to login and registration forms.


  • The library includes fully customisable email templates for account activation, forgotten password, new password and validate updated email.
  • Multilingual and customisable status and error messages.

Highly Customisable

  • A highly configurable config file allows you to customise how features within the library behave, ranging from password validation to login session expiry settings.
  • All database tables and column names are renamable via just one config file setting to match whatever name coding convention you prefer.
  • The library consists of only 5 tables to provide every feature within flexi auth.
  • Unlimited additional custom tables can be added and related to the core library tables, allowing you to capture whatever data you require.
  • The 5 core library tables can be modified with the addition of new columns that can then be managed via library functions.