Skip to content
User management in each new app is a pain. This is the last time you should be doing it
Python HTML CSS Mako Ruby JavaScript
Find file
Latest commit af6b94b @jace jace Use jsonify not jsonp
Failed to load latest commit information.
alembic Support public clients using session-based tokens
instance Renamed config vars
lastuser_core User.all accepts both userids and usernames now. Fixes #162
lastuser_oauth Use jsonify not jsonp
lastuser_ui Switch to ua_parser for more reliable UA detection
lastuserapp Removed logo block.
tests Fix test
.gitignore Include the general static folder created by baseframe in .gitignore
.travis.yml Fix Travis.
CHANGES.rst Refactoring complete. Now a multi-file app.
LICENSE.txt Update LICENSE.txt Refactoring complete. Now a multi-file app.
README.rst Updated dependencies in requirements.txt and also updated database se…
alembic.ini Alembic migrations.
config.rb Reorganized code into multiple blueprints. Deprecate in favour of shell. Fixes #150
requirements.txt Switch from py-bcrypt to bcrypt. RQ settings. RQ config and Alembic versioning in RQ config and Alembic versioning in Don't autocreate db tables.
setup.cfg tests should cover all three lastuser blueprints i18n and string type consistency
test_requirements.txt Remove classmethod-based APIs Reorganized code into multiple blueprints.
website.wsgi Reorganized code into multiple blueprints.



User management is a pain. There's no need to write new user management code for each new app to do basic things like logging in, managing the profile and verifying email addresses. Setup one Lastuser instance for all your apps and defer all user management to it. Use the API to integrate with your app.

This project is a work in progress.

Test deployment

Here is how you make a test deployment:

$ git clone
$ cd lastuser
$ cp instance/ instance/
$ open instance/ # Customize this file as needed
$ pip install -r requirements.txt
$ python

You may also want to setup the database with:

$ python db create

For development setup, you can also set the CACHE_TYPE to simple in instance/ or in instance/

#: Cache type
CACHE_TYPE = 'simple'
Something went wrong with that request. Please try again.