Webasuna Magic Login Addon
websauna.magiclogin的Python项目详细描述
这是magiclogin的python包,是Websauna framework的插件。
要运行这个包,您需要python 3.5.2+、postgressql和redis。
功能
- 使用OAuth和电子邮件链接选项进行无密码登录。
- 油门保护,防止暴力和垃圾邮件
- 中间页要求用户登录,然后继续用户执行的http get/post操作
屏幕截图
安装
根据websauna文档在development.ini和development-secrets.ini中设置oauth凭据。
示例development.ini:
websauna.social_logins = facebook google
示例development-secrets.ini位:
[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
将位从demo.py复制到应用程序初始值设定项。
设置
可用的INI设置:
# 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
您也可能在生产中有很长的、安全的会话:
# Set session length to one year redis.sessions.cookie_max_age = 31536000 redis.sessions.cookie_secure = True redis.sessions.cookie_httponly = True
运行开发网站
本地开发机器
示例(OSX/自制):
createdb magiclogin_dev ws-sync-db ws://websauna/magiclogin/conf/development.ini pserve ws://websauna/magiclogin/conf/development.ini --reload
您可以访问:
http://localhost:6543/login http://localhost:6543/require_login_example_page
运行测试套件
首先创建测试数据库:
# Create database used for unit testing psql create magiclogin_test
安装测试和开发依赖项(使用setup.py在文件夹中运行):
pip install -e ".[dev,test]"
使用py运行测试套件。测试运行:
py.test
更多信息
websauna magic登录的更改日志
1.0a2(2018-04-22)
- 修复丢失的“命名空间包”。
1.0a1(2018-03-06)
- 初始版本