Google Login for Pyramid
Project description
Google Login extension for Pyramid. Implement the OAuth2 Server-side flow.
This extension doesn’t configure any authentication policy. You are responsible of setting the proper security configuration in your Pyramid application. When authenticated by Google, this extension calls the method pyramid.security.remember and assume the authentication policy will remember the user identity.
Installation
Install using setuptools, e.g. (within a virtualenv):
$ pip install pyramid_google_login
Setup: Application
Once pyramid_google_login is installed, you must use the config.include mechanism to include it into your Pyramid project’s configuration. In your Pyramid project’s __init__.py:
config = Configurator(.....)
config.include('pyramid_google_login')
Alternately you can use the pyramid.includes configuration value in your .ini file:
[app:myapp]
pyramid.includes = pyramid_google_login
Settings:
security.google_login.client_id = xxxxxxx.apps.googleusercontent.com security.google_login.client_secret = xxxxxxxxxxxxxxxxxxxxxxxxx # security.google_login.user_id_field = email # security.google_login.hosted_domain = example.net # security.google_login.landing_url = / # security.google_login.max_age = 86400 # security.google_login.signin_banner = Welcome on Project Euler
Setup: Google project
Create a project on https://console.developers.google.com
Create a OAuth Client ID
Choose a Web Application application type
Add all variants of your host in Javascript Origins
Secure and non secure url are differentiated
Optionally include your development host with http://localhost:6543 rather than an http://127.0.0.1:6543 (it would be refused)
Notes:
No Permissions are needed by pyramid_google_login itself.
Client ID parameters are heavily cached. In development, re-creating a client id is often the best idea.
Usage
When a user must be authenticated by Google, he must be sent to the auth_signin route url. The helper method pyramid_google_login.redirect_to_signin lets you specify the welcome message and the landing url.
Once authenticated, the user will be redirected to an url specified by:
query parameter (signin page): url
setting: security.google_login.landing_url
fallback: /
When a user must be logged out, he must be directed on the auth_logout route url. Once logged out, he will be redirected back to the sign in page.
Development
Running tests:
$ virtualenv venv $ . venv/bin/activate (venv)$ pip install -r requirements-test.txt (venv)$ nosetests
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
Hashes for pyramid_google_login-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22e7e1ef6d3e74f694940ef3db6dcbd47e61d97ef089025a8f4bbb546185d03d |
|
MD5 | 7b4edb201b5c5527d62368e6767fc038 |
|
BLAKE2b-256 | 006cbca013a373fa5667c543acfd59d2d0cbdef246a15f7e09c2d19b99bdae02 |