Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

This is a Python package for magiclogin, an addon for Websauna framework.

To run this package you need Python 3.5.2+, PostgresSQL and Redis.

Features

  • Passwordless login with OAuth and email link options.

  • Throttle protection against brute forcing and spam

  • Interstitial page to require user to login and then continue what ever HTTP GET/POST action user was performing

Screenshots

https://github.com/websauna/websauna.magiclogin/raw/master/screenshots/login.png https://github.com/websauna/websauna.magiclogin/raw/master/screenshots/email.png

Installation

Setup OAuth credential in development.ini and development-secrets.ini according to Websauna documentation.

Example development.ini:

websauna.social_logins =
    facebook
    google

Example development-secrets.ini bits:

[facebook]
class = authomatic.providers.oauth2.Facebook
consumer_key = xxx
consumer_secret = yyy
scope = user_about_me, email
mapper = websauna.system.user.social.FacebookMapper

[google]
class = websauna.system.user.googleoauth.Google
consumer_key = xxx
consumer_secret = yyy
mapper = websauna.system.user.social.GoogleMapper
scope = profile email

Copy bits from demo.py to your application initializer.

Settings

Available INI settings:

# Throttle email login endpoints to this window
magiclogin.login_email_throttle = 50/3600

# How fast email login link dies
magiclogin.email_token_expiration_seconds = 300

# Text shown on the login panel
magiclogin.login_slogan = Your login text goes here

You might also have long, secure, sessions in production:

# Set session length to one year
redis.sessions.cookie_max_age = 31536000
redis.sessions.cookie_secure = True
redis.sessions.cookie_httponly = True

Running the development website

Local development machine

Example (OSX / Homebrew):

createdb magiclogin_dev
ws-sync-db  ws://websauna/magiclogin/conf/development.ini
pserve ws://websauna/magiclogin/conf/development.ini --reload

You can visit:

http://localhost:6543/login

http://localhost:6543/require_login_example_page

Running the test suite

First create test database:

# Create database used for unit testing
psql create magiclogin_test

Install test and dev dependencies (run in the folder with setup.py):

pip install -e ".[dev,test]"

Run test suite using py.test running:

py.test

More information

Please see https://websauna.org/

Changelog for Websauna Magic Login

1.0a2 (2018-04-22)

  • Fix missing ‘namespace_packages’.

1.0a1 (2018-03-06)

  • Initial Release

Release files for websauna.magiclogin 1.0a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for websauna.magiclogin 1.0a2
File Size Uploaded
websauna.magiclogin-1.0a2.tar.gz 120.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for websauna.magiclogin 1.0a2
File Interpreter ABI Platform
websauna.magiclogin-1.0a2-py3-none-any.whl Python 3 none any Details

Total release size: 247.6 kB

Release files / websauna.magiclogin-1.0a2.tar.gz

Download URL websauna.magiclogin-1.0a2.tar.gz
Size 120.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a613bd8102a0be15f2c1756041d9e0dc4c01a2b9f30d222f452624272dfd589a
BLAKE2b-256 checksum
How to use checksums
de85f6a34b11d5e07e2a39f062bac126bc847fe8ba496fc2b5211b42f3b2f567
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / websauna.magiclogin-1.0a2-py3-none-any.whl

Download URL websauna.magiclogin-1.0a2-py3-none-any.whl
Size 127.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
42fd7638338e0c04efc7a3be03205d326f205bdc18e15a7d2b69cd62a6a44b33
BLAKE2b-256 checksum
How to use checksums
5d027ef484251b2308ae8cdcede1f89c4c19412f35eaf0b4b31e51d474f35305
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0a2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page