Skip to main content

Super simple OpenID and Google Federated Auth for Flask apps.

Project description

This is a partial port of torando.auth to be used with Flask.

It is small, self contained and do not use any filesystem operations. Greate for internal apps.

Written by Alexander Saltanov, inspired by Kenneth Reitz.

Usage

Example usage for Google Federated Login.

Routes /login/ and /logout/ will be provided automagically.

Require an account from a given Google Apps domain for your Flask apps:

from flask import Flask, g
from flask_googleauth import GoogleFederated

# Setup Flask
app = Flask(__name__)
app.secret_key = "random secret key"

# Setup Google Federated Auth
auth = GoogleFederated("mokote.com", app)

@app.route("/")
@auth.required
def secret():
    # Once user is authenticated, his name and email are accessible as
    # g.user.name and g.user.email.
    return "You have rights to be here, %s (%s)" % (g.user.name, g.user.email)

app.run()

If you want to authenticate your users with general Google OpenID you should import and use GoogleAuth instead of GoogleFederated:

auth = GoogleAuth(app)

You can force all requests to be authenticated by setting force_auth_on_every_request on the auth object:

auth.force_auth_on_every_request = True

Install

To install Flask-GoogleAuth:

pip install flask-googleauth

Prerequisites

Be sure that your Google Apps domain is enabled to be an OpenID provider under “Advanced tools” → “Federated Login using OpenID”.

Project details


Download files

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

Source Distribution

Flask-GoogleAuth-0.4.2.tar.gz (5.5 kB view details)

Uploaded Source

File details

Details for the file Flask-GoogleAuth-0.4.2.tar.gz.

File metadata

File hashes

Hashes for Flask-GoogleAuth-0.4.2.tar.gz
Algorithm Hash digest
SHA256 c4aa0e73e05bfa4e5d8251f0bd2876c1a2a05672dadcd5f43e25606cb658adfb
MD5 bc33c1e0582838253a05884e02b62e74
BLAKE2b-256 38b82b3c510a3a4cce9af59552158c36eb86302f7aab9714ea708431826ef6c9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page