Provide route decorators for Google App Engine users
Project description
Flask Google App Engine Users
Provide route decorators for Google App Engine users.
Author
Daniel 'Vector' Kerr (vector@vector.id.au)
License
Refer to LICENSE.txt.
Installation
pip install flask-gae-users
Sample Usage
Python Code
main.py
from flask import Flask, request, Response, jsonify from flask_gae_users import GAEUsers from flask_gae_users import GAENoUserException from flask_gae_users import GAENotAdminException app = Flask() GAEUsers( app = app ) # Provide a response when a user is not logged in @app.errorhandler( GAENoUserException ) def onAppNoUser( e ): body = "<p>You must log in to continue</p>" body = body + "<p><a href=\"" + app.get_login_url() + "\">Sign in</a></p>" return Response( body, status = 401 ) # Provide a response when a user is not an administrator @app.errorhandler( GAENotAdminException ) def onAppNoUser( e ): body = "<p>You are not authorized to access this resource</p>" body = body + "<p><a href=\"" + app.get_logout_url() + "\">Sign in as a different user</a></p>" return Response( body, status = 403 ) # Create a user-protected route by adding the `require_user` decorator @app.route( '/home', methods = [ 'GET' ] ) @app.require_user() def routeHome(): user = app.get_user() return jsonify( { 'user': repr( user ) } ) # Create an admin-protected route by adding the `require_admin` decorator @app.route( '/admin', methods = [ 'GET' ] ) @app.require_admin() def routeAdmin(): admin = app.get_user() return jsonify( { 'admin': repr( admin ) } ) # Run the flask application if __name__ == '__main__': app.run( port = 8080 )
Run Server
python main.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flask-gae-users-0.0.1.tar.gz
(2.5 kB
view hashes)
Built Distribution
Close
Hashes for flask_gae_users-0.0.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2248b55d74cbd7746be58e9d33159a9b5a214c69614bac8318630dfccec0fd18 |
|
MD5 | 985925f3d7bedebf4fac876ddb6ff5f8 |
|
BLAKE2-256 | 9c350ce794a96f2c68e9550198c57aeac11f71bc79f591bf31abe701e00c0736 |