Cork - Authentication for the Bottle web framework

Cork provides a simple set of methods to implement Authentication and Authorization in web applications based on Bottle and Flask.

It is designed to stay out of the way and let you focus on what your application should do.

Cork is under development - contributions are welcome.

Features

  • Minimal design, easy to tweak.
  • Multiple storage backends are supported:
  • Simple role-based authentication. User are authorized by role e.g. ‘admin’, ‘user’, ‘editor’.
    • Admin users can create and delete user accounts and roles.
  • User registration and password reset using email delivery and confirmation.
  • Unit-tested and code covered

News

  • 2015-05-01: Version 0.12.0a2
    • Implement configurable variables in email templates #88
    • Fix #86, #87
  • 2015-04-26: Version 0.12.0a1
    • WARNING: this is a development release and not backward-compatible.
    • Add Python 3 support
    • Add configurable session key #84
  • 2015-01-06: Version 0.11
    • Add Flask support
    • MongoDB: add authentication #68
    • Enable configurable SMTP port. Closes: #43
    • Remove unneeded setuptools dependency. Closes: #40
  • 2013-09-22: Version 0.10
    • Decorator support added. #6
    • ‘last_login’ user attribute added. #47 #48
    • In-memory SQLite Database support added.
    • CONTRIBUTORS.txt added
    • Bugfix: configurable role table name #46
    • Bugfix: email address #42
  • 2013-07-07: Version 0.9
    • SQLite support added.
    • SMTP URL bugfix #38
  • 2013-05-27: Version 0.8
    • scrypt implemented, bugfixes #34 #35 #32
  • 2013-04-08: Version 0.7
    • Configurable backend support added.
    • SQLAlchemy and MongoDB support added.
    • Closes: #8 #27 #28
  • 2013-01-27: Version 0.6
    • More flexible file naming in JsonBackend.
    • Fixed function to update user’s email address.
    • More informative log message for missing Pycrypto.

Roadmap

  • Additional hooks to provide logging or user-defined functions in case of login()/require() failure
  • Hooks to share session data between multiple hosts
  • Flask support

Basic usage

Installation:

$ pip install bottle-cork
or
$ easy_install bottle-cork

Use virtualenv on package-based Linux distributions! Learn why

Fully working examples are provided with the sources

Indices and tables