{ "info": { "author": "Mikko Ohtamaa", "author_email": "mikko@opensourcehacker.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "This is a Python package for magiclogin, an addon for `Websauna framework `_.\n\nTo run this package you need Python 3.5.2+, PostgresSQL and Redis.\n\nFeatures\n========\n\n* Passwordless login with OAuth and email link options.\n\n* Throttle protection against brute forcing and spam\n\n* Interstitial page to require user to login and then continue what ever HTTP GET/POST action user was performing\n\nScreenshots\n\n.. image:: https://github.com/websauna/websauna.magiclogin/raw/master/screenshots/login.png\n :width: 400px\n\n.. image:: https://github.com/websauna/websauna.magiclogin/raw/master/screenshots/email.png\n :width: 400px\n\nInstallation\n============\n\nSetup OAuth credential in ``development.ini`` and ``development-secrets.ini`` according to Websauna documentation.\n\nExample ``development.ini``::\n\n websauna.social_logins =\n facebook\n google\n\nExample ``development-secrets.ini`` bits::\n\n [facebook]\n class = authomatic.providers.oauth2.Facebook\n consumer_key = xxx\n consumer_secret = yyy\n scope = user_about_me, email\n mapper = websauna.system.user.social.FacebookMapper\n\n [google]\n class = websauna.system.user.googleoauth.Google\n consumer_key = xxx\n consumer_secret = yyy\n mapper = websauna.system.user.social.GoogleMapper\n scope = profile email\n\nCopy bits from ``demo.py`` to your application initializer.\n\nSettings\n========\n\nAvailable INI settings::\n\n # Throttle email login endpoints to this window\n magiclogin.login_email_throttle = 50/3600\n\n # How fast email login link dies\n magiclogin.email_token_expiration_seconds = 300\n\n # Text shown on the login panel\n magiclogin.login_slogan = Your login text goes here\n\nYou might also have long, secure, sessions in production::\n\n # Set session length to one year\n redis.sessions.cookie_max_age = 31536000\n redis.sessions.cookie_secure = True\n redis.sessions.cookie_httponly = True\n\nRunning the development website\n===============================\n\nLocal development machine\n-------------------------\n\nExample (OSX / Homebrew)::\n\n createdb magiclogin_dev\n ws-sync-db ws://websauna/magiclogin/conf/development.ini\n pserve ws://websauna/magiclogin/conf/development.ini --reload\n\n\nYou can visit::\n\n http://localhost:6543/login\n\n http://localhost:6543/require_login_example_page\n\nRunning the test suite\n======================\n\nFirst create test database::\n\n # Create database used for unit testing\n psql create magiclogin_test\n\nInstall test and dev dependencies (run in the folder with ``setup.py``)::\n\n pip install -e \".[dev,test]\"\n\nRun test suite using py.test running::\n\n py.test\n\nMore information\n================\n\nPlease see https://websauna.org/\n\n\nChangelog for Websauna Magic Login\n==================================\n\n1.0a2 (2018-04-22)\n------------------\n\n- Fix missing 'namespace_packages'.\n\n\n1.0a1 (2018-03-06)\n------------------\n\n- Initial Release\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://websauna.org", "keywords": "web websauna pyramid", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "websauna.magiclogin", "package_url": "https://pypi.org/project/websauna.magiclogin/", "platform": "", "project_url": "https://pypi.org/project/websauna.magiclogin/", "project_urls": { "Homepage": "https://websauna.org" }, "release_url": "https://pypi.org/project/websauna.magiclogin/1.0a2/", "requires_dist": [ "websauna", "websauna[dev]; extra == 'dev'", "codecov; extra == 'test'", "flake8; extra == 'test'", "pytest (>=3.0); extra == 'test'", "pytest-runner; extra == 'test'", "coverage; extra == 'test'", "flaky; extra == 'test'", "isort; extra == 'test'", "pytest-cov; extra == 'test'", "pytest-runner; extra == 'test'", "pytest-splinter; extra == 'test'", "pytest-timeout; extra == 'test'", "webtest; extra == 'test'" ], "requires_python": "", "summary": "Webasauna magic login addon", "version": "1.0a2" }, "last_serial": 3789745, "releases": { "1.0a1": [ { "comment_text": "", "digests": { "md5": "f78e1f2753bdff05fbe9ccd6d893ce85", "sha256": "dcb1d422a0a06cbf8d3002931adf495ec4a3b9ead6446ad2b6d3100f6af1517a" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a1-py3-none-any.whl", "has_sig": false, "md5_digest": "f78e1f2753bdff05fbe9ccd6d893ce85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 126827, "upload_time": "2018-03-06T22:23:39", "url": "https://files.pythonhosted.org/packages/21/99/97c9afb248421180ba1a3944a24b5753dfab6f8d8e76364256eb3ceab245/websauna.magiclogin-1.0a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "539e9f748917f68f2711e44880a402aa", "sha256": "a07ae3796529639d74ec6af4448bc457eadab341411d809305ec7a11d3b2e0b3" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a1.tar.gz", "has_sig": false, "md5_digest": "539e9f748917f68f2711e44880a402aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120060, "upload_time": "2018-03-06T22:23:43", "url": "https://files.pythonhosted.org/packages/26/06/c93c9b99d4376cfc7edf6d9f5b9c5b8e439dfbe26f1e3f3d11d222ec4baa/websauna.magiclogin-1.0a1.tar.gz" } ], "1.0a2": [ { "comment_text": "", "digests": { "md5": "dba3a6867eb592282f64c4b4e9997666", "sha256": "42fd7638338e0c04efc7a3be03205d326f205bdc18e15a7d2b69cd62a6a44b33" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "dba3a6867eb592282f64c4b4e9997666", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 127375, "upload_time": "2018-04-22T19:28:39", "url": "https://files.pythonhosted.org/packages/5d/02/7ef484251b2308ae8cdcede1f89c4c19412f35eaf0b4b31e51d474f35305/websauna.magiclogin-1.0a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6c6357f1c5be97df786458bb7055494", "sha256": "a613bd8102a0be15f2c1756041d9e0dc4c01a2b9f30d222f452624272dfd589a" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a2.tar.gz", "has_sig": false, "md5_digest": "a6c6357f1c5be97df786458bb7055494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120236, "upload_time": "2018-04-22T19:28:40", "url": "https://files.pythonhosted.org/packages/de/85/f6a34b11d5e07e2a39f062bac126bc847fe8ba496fc2b5211b42f3b2f567/websauna.magiclogin-1.0a2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dba3a6867eb592282f64c4b4e9997666", "sha256": "42fd7638338e0c04efc7a3be03205d326f205bdc18e15a7d2b69cd62a6a44b33" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a2-py3-none-any.whl", "has_sig": false, "md5_digest": "dba3a6867eb592282f64c4b4e9997666", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 127375, "upload_time": "2018-04-22T19:28:39", "url": "https://files.pythonhosted.org/packages/5d/02/7ef484251b2308ae8cdcede1f89c4c19412f35eaf0b4b31e51d474f35305/websauna.magiclogin-1.0a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a6c6357f1c5be97df786458bb7055494", "sha256": "a613bd8102a0be15f2c1756041d9e0dc4c01a2b9f30d222f452624272dfd589a" }, "downloads": -1, "filename": "websauna.magiclogin-1.0a2.tar.gz", "has_sig": false, "md5_digest": "a6c6357f1c5be97df786458bb7055494", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 120236, "upload_time": "2018-04-22T19:28:40", "url": "https://files.pythonhosted.org/packages/de/85/f6a34b11d5e07e2a39f062bac126bc847fe8ba496fc2b5211b42f3b2f567/websauna.magiclogin-1.0a2.tar.gz" } ] }