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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| websauna.magiclogin-1.0a2.tar.gz | 120.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 |