Switch the email schema to not resolve domains by default -- this avoids a module import level dependency on dns resolution.
Add bearer token orm, repo and auth policies. Tidy up the model module.
Bump to remove src/*.egg-info directory from PyPI distribution.
Replace global unique constraint on auth_emails.address with a composite
constraint on .address and .user_id.
As a consequence, update the model.get_existing_email function with an
optional user_id parameter and update the ./prefer_email view to use it
-- thereby making sure the preferred email belongs to the user.
Log user out after change password.
0.5.1 was a brown bag release: this fixes the distribution by re-including the template files.
Fix test compatibility and tweak docs.
Restrict the set of permissions granted to self.user in owned acl mixins.
Add a PersonalMixin for content other users shouldn't see.
Stop forcing passwords to lower case. Note that this is a fairly major api change and means that existing user accounts may need to login with lower case passwords where before they were using upper case.
Limit /auth/logout to POST requests.
Provide account management features (thanks to @amarandon):
- change password
- change username
- manage email accounts
Updated form.mako to follow new bootstrap syntax.
Added request.is_post_login and request.is_post_signup.
Add request.user_json property.
Tweak validating unique emails, so emails must be confirmed to be taken.
Minor tweaks and is_admin bugfix.
Added interfaces module.
Sorted out routes and configurable redirection.
Initial version.