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 |
|
BLAKE2b-256 | 9c350ce794a96f2c68e9550198c57aeac11f71bc79f591bf31abe701e00c0736 |