A3M Account Authentication and Authorization

Jan Dvorak edited this page Jul 5, 2014 · 17 revisions
Clone this wiki locally

Current Version: v1.0.2 (CI 2.2.0) Development Version: v1.0.3 (CI 2.2.0) and v2.0.0-dev (CI 3.x-dev) Open Issues: https://github.com/donjakobo/A3M/issues?state=open
Project on GitHub: https://github.com/donjakobo/A3M/

A3M (Account Authentication & Authorization) is a CodeIgniter 2.x and 3.x package that leverages bleeding edge web technologies like OpenID and OAuth to create a user-friendly user experience. It gives you the CRUD to get working right away without too much fuss and tinkering! Designed for building webapps from scratch without all that tiresome login / logout / admin stuff thats always required.

Original Authors

Jakub @kubanishku PengKong @pengkong

Key Features & Design Goals

  • Native Sign Up, Sign In with 'Remember me' and Sign Out
  • Native account Forgot Password and Reset Password
  • Facebook/Twitter/Google/Yahoo/OpenID Sign Up, Sign In and Sign Out
  • Manage Account Details, Profile Details and Linked Accounts
  • reCAPTCHA Support, SSL Support, Language Files Support
  • Gravatar support for picture selection (via account profile)
  • Create a painless user experience for sign up and sign in
  • Create code that is easily understood and re-purposed
  • Utilize Twitter Bootstrap (a fantastic CSS / JS library)
  • Graceful degradation of JavaScript and CSS
  • Proper usage of CodeIgniter's libraries, helpers and plugins
  • Easily Configurable via config file

Folder structure

  • /application/ - what you should be editing / creating in
  • /system/ - default CodeIgniter system folder (don't touch!)
  • /resource/ - css / images / javascript (folder configurable via constants.php)
  • /user_guide/ - latest guide for CI (can be deleted, just for CI reference)

3rd Party Libraries & Plugins


  • CURL
  • DOM or domxml
  • GMP or Bcmatch

Installation Instructions

Check out our wiki: https://github.com/donjakobo/A3M/wiki/Installation-Instructions for help on getting started.

Help and Support

Change Log


  • Fix: Fix a permission bug in admin manage roles and manage permissions
  • New feature: #78, #59, #27 HybridAuth was integrated into A3M, which means that the old social logins no longer work.
  • New feature: #30 Verify e-mail upon sign-up (can be now enabled in config).
  • New feature: Default user group can be set in config.
  • New feature: Added jQuery validation to sign up page.
  • New feature: #74 Force user to reset password upon next sign-in
  • New feature: #75 Option to send user credentials to new user created via administration
  • New feature: Added support for table prefixes
  • New feature: Initialize function in authentication library
  • New feature: Authorization library is_role() now accepts arrays
  • New feature: Added support for DocBlock documentation generation
  • New feature: Support for DocBlock documentation
  • Update: Update to jQuery 2.1.1
  • Update: Updated Twitter Bootstrap to 3.2.0
  • Update: #70 Updated to Twitter Bootstrap 3.0.3
  • Update: #47 Updated to CodeIgniter 3.
  • Update: Update of authorization library so that are compared roles and permissions are lower string before being compared.
  • Change: #70 Changed the naming structure for A3M.
  • Change: #56 Removed full name and postal code from user details and DB.
  • Change: Changed how views are called. Now using a template into which all views are inserted.
  • Change: Profile settings was merged into Account settings to reduce user confusion
  • Remove: Currency table and reference to country by IP table and functionality


  • Update: Gravatar library


  • Update: CodeIgniter to 2.2.0
  • Update: Facebook SDK to v3.2.3
  • Update: #90 Facebook Redirect page view
  • Update: Removed align parameter from photo helper and added function description



  • New feature: Admin panel
  • New feature: #9 Changed the markup to bootstrap.
  • Update: #40 Updated Twitter Bootstrap to version 2.3.2
  • Update: #50 Updating social media icons.
  • Update: #43 Twitter API updated to 1.1
  • Update: #45 Updating jQuery to 2.0.2
  • Update: #45 Fixing remaining pages for HTML5 and Bootstrap.
  • Update: #18 Reformatted project style to match CI's guidelines.
  • Fix: #51 Timezones table now has additional column for CodeIgniter friendly timezone format.
  • Fix: #29 XSS on forgot password, also added missing validation.
  • Fix: #21, #22 XSS Vulnerabilities fixed.
  • Fix: #12 Removed insecure SSL configuration.
  • Fix: #10 Correct twitter config & helper location.
  • Fix: #8 Fixed twitter_model reference.
  • Fix: #5 Fixed some wrong load->view references and included missing headers in some views.

Category:Libraries::Authorization Category:Libraries::Authentication Category:Contributions::Libraries::Authentication