Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
flask_gae_users-0.0.1-py2-none-any.whl (2.9 kB) Copy SHA256 hash SHA256 Wheel py2
flask-gae-users-0.0.1.tar.gz (2.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page