Toolkit for Pyramid, a Pylons Project, to add Authentication and Authorization using Velruse (OAuth) and/or a local database, CSRF, ReCaptcha, Sessions, Flash messages and I18N
Python CSS Shell
Failed to load latest commit information.
apex Update libapex.py Jul 30, 2013
docs merge pull Nov 16, 2014
examples/apex_example Revert secrets values Sep 9, 2014
.gitignore Git ignores Jul 25, 2014
.travis.yml
CHANGELOG.txt rough cut to allow additional auth providers to be added to an auth id Feb 14, 2013
LICENSE.txt
MANIFEST.in merge branch because git didn't like long branch name Mar 13, 2012
README.rst rst tweaks Feb 25, 2013
TODO.txt added travis to todos Feb 17, 2013
i18n.sh add french translations Nov 10, 2011
requirements.txt Pyramid 1.5 no longer includes Mako templates. Jul 25, 2014
setup.cfg database issues fixed for testing Feb 15, 2013
setup.py merge pull Nov 16, 2014

README.rst

Apex

https://api.travis-ci.org/cd34/apex.png?branch=master

Authentication, Form Library, I18N/L10N, Flash Message Template (not associated with Pyramid, a Pylons project)

Uses alchemy

Authentication

Authentication has a single authentication id which can have multiple associated credentials. A user can create a username and associate their Facebook and Google login records with their current record and log in with any of them. It is planned that Apex will act as an endpoint for multi-domain multi-site installations - allowing one to associate a login account from one domain to another.

Local authentication uses salt + BCrypt http://codahale.com/how-to-safely-store-a-password/

Velruse is used for OpenID/OpenAuth providers and supports
  • Google
  • Facebook
  • Twitter
  • Yahoo
  • Microsoft Live
  • Bitbucket
  • Github
  • Identi.ca
  • Last.fm
  • LinkedIn
  • Any OpenID provider

Ability to overload the login form, extend the AuthUser class through polymorphism or a Foreign Key user profile table.

Form Library

WTForms is used to help those transitioning over from Django to Pyramid.

I18N/L10N

Babel is used to support Internationalization and Localization.

Flash Messages

Templates and helpers for Mako and Jinja2 are included to support Flash Messages in your application.