[A3M (Account Authentication & Authorization)] (https://github.com/donjakobo/A3M/)
A CodeIgniter 2.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! A3M is a full package meant for building websites from scratch without all that tiresome login / logout / admin stuff thats always required.
Jakub
- @kubanishku on Twitter
- @donjakobo on GitHub
PengKong
- @pengkong on Github
- 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
- 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
- Adhere to security best practices
- Proper usage of CodeIgniter's libraries, helpers and plugins
- Optimal performance by minimizing autoloading
- Easily Configurable via config file
/application/
- what you should be editing in/system/
- default CodeIgniter system folder/resource/
- keeps external resources like css / images / javascript/user_guide/
- latest 2.1.x guide for CI
@TODO: Update this list versions
- recaptcha_pi.php - recaptcha-php-1.11
- facebook_pi.php - v.3.2.2
- twitter_pi.php - Updated to latest release - Jun 11, 2011
- phpass_pi.php - Version 0.3 / genuine (latest)
- openid_pi.php - php-openid-php5.3
- Download the latest version of A3M
- Extract to a folder accessible on your webserver (say
/a3m/
) - Create a database using the
a3m_database.sql
script found it root folder of package - Modify
/applicaion/config/config.php
&/applicaion/config/database.php
to match your setup (folder path + database credentials) - Modify your
.htaccess
file if your default folder is different from/a3m/
(example:domain.com/a3m/
) - Note that twitter doesn't work if your base url is
localhost
and facebook won't work if your base url is127.0.0.1
. Therefore ensure that your base url is something likeyoursite.com
. One way to do that is to simply map the hostname your want to127.0.0.1
on your development machine. - Configure your external OpenID providers in
/application/config/account/*
Your twitter callback URL should take into account whether or not you have enabled SSL in your a3m config
https://domain.com/account/connect_twitter
(SSL Enabled)http://domain.com/account/connect_twitter
(SSL Disabled)
Configuring this wrongly will result in an EpiOAuthUnauthorizedException
exception being thrown.