{ "info": { "author": "Ilya shusterman", "author_email": "shusterilyaman@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": "jwt_user\n=====\n\nA Python implementation of acquiring, authorizing user from jwt token.\ndesigned to work for any request entity from flask,django,tornado frameworks. \n\nInstalling\n----------\n\nInstall with **pip**:\n\n $ pip install jwt_user\n\n\nUsage\n-----\n\n >>> import jwt_user\n >>> payload = {'username': 'test'}\n >>> token = jwt_user.generate_token(payload)\n >>> request = jwt_user.generate_request(token)\n >>> user = jwt_user.get_jwt_user(request)\n >>> user\n {}\n >>> user.username\n 'test'\n >>> #Second usage\n ... \n >>> import tornado\n >>> BaseRequestHandler = tornado.web.RequestHandler\n >>> class MainHandler(BaseRequestHandler):\n ... @jwt_user.authorized_user\n ... def get(self):\n ... self.write('Hello, Authorized user')\n ...\n >>> class MainUserHandler(BaseRequestHandler):\n ... @jwt_user.authorized_user\n ... def get(self):\n ... user = jwt_user.get_jwt_user(self.request)\n ... self.write('Hello, {}'.format(user.username))\n >>>\n >>> os.environ['JWT_EXPIRATION_DELTA'] = '3400'\n >>> os.environ['JWT_PRIVATE_KEY'] = 'some random hexa private text'\n >>> os.environ['JWT_SECRET_KEY'] = 'some random hexa secret text'\n >>> os.environ['JWT_AUTH_HEADER'] = 'Authorization'\n >>> os.environ['JWT_AUTH_HEADER_PREFIX'] = 'Bearer'\n >>> def make_app():\n ... user_valid_fields = {'username', 'user_id', 'token'}\n\t... jwt_user.set_user_valid_fields(user_valid_fields)\n\t... application = tornado.web.Application([\n ... (r'/', MainHandler),\n ... (r'/user_page', MainUserHandler)])\n ... return application\n >>>\n],\n\nDocumentation\n-------------\n\nView the full docs online at https://jwt_user.readthedocs.io/en/latest/\n\n\nTests\n-----\n\nYou can run tests from the project root after cloning with:\n\n $ make smoke\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ilyashusterman/jwt_user", "keywords": "sample setuptools development", "license": "", "maintainer": "", "maintainer_email": "", "name": "jwt-user", "package_url": "https://pypi.org/project/jwt-user/", "platform": "", "project_url": "https://pypi.org/project/jwt-user/", "project_urls": { "Bug Reports": "https://github.com/ilyashusterman/jwt_user/issues", "Funding": "https://donate.pypi.org", "Homepage": "https://github.com/ilyashusterman/jwt_user", "Source": "https://github.com/ilyashusterman/jwt_user/" }, "release_url": "https://pypi.org/project/jwt-user/0.0.9/", "requires_dist": [ "PyJWT", "bunch", "six" ], "requires_python": "", "summary": "Authorize user via jwt", "version": "0.0.9" }, "last_serial": 4330406, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "484481cb41cb441cd72a42d24e0ee43d", "sha256": "3d14e6adfef84d55188d7ba819e569d5537df70852a51b98a427836ab7ec82fe" }, "downloads": -1, "filename": "jwt_user-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "484481cb41cb441cd72a42d24e0ee43d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5312, "upload_time": "2018-10-01T19:23:00", "url": "https://files.pythonhosted.org/packages/e9/21/2352f9ce31e5519eddb8066fe3e7d48818df08054b568b48cd6fe3a57b60/jwt_user-0.0.1-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d1667b86483311509dec410d4684ea02", "sha256": "1a87ce9363efec332c864093a45d9895fb8ae364b1bee17fe763b530fec6ec1a" }, "downloads": -1, "filename": "jwt_user-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d1667b86483311509dec410d4684ea02", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5367, "upload_time": "2018-10-01T19:43:27", "url": "https://files.pythonhosted.org/packages/c0/29/5083de72eb4daba689f2f063fb6fdadb3312ea5289c7e9b5b299dee9043b/jwt_user-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2bfc4f246a87f73d30d8c7ad00169f9", "sha256": "c93574d86b169a0d076f64bfc39f855103d83b37d10802be970b4bf3d9a012b9" }, "downloads": -1, "filename": "jwt_user-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f2bfc4f246a87f73d30d8c7ad00169f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3530, "upload_time": "2018-10-01T19:43:28", "url": "https://files.pythonhosted.org/packages/96/76/d8de651df5ea19c05ccc046a91e4c4a2333e50636378ce1bd54e019b59c6/jwt_user-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "382dd0a014798910dd509c9b7abc298c", "sha256": "234306fc473cb35337ead942709692691b91ba8f7d79cba750b7326c2e914b30" }, "downloads": -1, "filename": "jwt_user-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "382dd0a014798910dd509c9b7abc298c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5439, "upload_time": "2018-10-01T20:11:00", "url": "https://files.pythonhosted.org/packages/c0/9b/9c1710def01c1fbc7419bcc115c244327c5f6fa2c1577bdb2e2eeffa474d/jwt_user-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03dedc1fec391a7cd132a33953a7fb1d", "sha256": "d12874600a061c1223708d393bad0a01e358397c99d6ab6bc3122d1f005d91c8" }, "downloads": -1, "filename": "jwt_user-0.0.3.tar.gz", "has_sig": false, "md5_digest": "03dedc1fec391a7cd132a33953a7fb1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3615, "upload_time": "2018-10-01T20:11:01", "url": "https://files.pythonhosted.org/packages/6b/65/02cc9677a5d73a756c9e8c2417ce189803b4157dcd23ce9c9c6314f922ee/jwt_user-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "aa0a5ba4192a098b196db91e06ee8abb", "sha256": "74b842dce9c94a698899521e58ed11add0a847cf0cd9e77d3c137556a3fbd8eb" }, "downloads": -1, "filename": "jwt_user-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "aa0a5ba4192a098b196db91e06ee8abb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5577, "upload_time": "2018-10-01T20:33:22", "url": "https://files.pythonhosted.org/packages/8c/09/f6d715dfb76677255dd215a2e2abdf5632a191163ebf943f350dd3fc187b/jwt_user-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b719df5473b1660f8075031a868880cb", "sha256": "27c67e1e2eaa7ee14c13eeb5df99611b5303d827fc1b3200f562b095a67a2e81" }, "downloads": -1, "filename": "jwt_user-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b719df5473b1660f8075031a868880cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3743, "upload_time": "2018-10-01T20:33:24", "url": "https://files.pythonhosted.org/packages/12/c3/fb31552c6f2daf1876a92503bea920cc64aac60746047ef108e1dc43c79e/jwt_user-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "1f0b68b625a16f8799b8df300ead8c3c", "sha256": "5981671da3f9f5fbe27826273f13fc12e3df76c6788da8b1c3ba0b9bad806b27" }, "downloads": -1, "filename": "jwt_user-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "1f0b68b625a16f8799b8df300ead8c3c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5525, "upload_time": "2018-10-01T20:38:03", "url": "https://files.pythonhosted.org/packages/26/ce/0194d7271c9eb853c173cb713407b07e4b6031e299afd3fc4f6d4a3da58d/jwt_user-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7263608d0efdb225f78c5881fba7f46f", "sha256": "3a83230b168749ea54f7bf0fa6979035f4455540feb17de6f284a55d18243dd8" }, "downloads": -1, "filename": "jwt_user-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7263608d0efdb225f78c5881fba7f46f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3702, "upload_time": "2018-10-01T20:38:04", "url": "https://files.pythonhosted.org/packages/aa/47/afd7d5e620ffc4300bb988c227ddde0ce73ee584b513341785bea371617f/jwt_user-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "6b9fb78cd3b5678f30e68c091d115e48", "sha256": "d8643c61ca950d8804aea81ee1e3e7e5d9aa417b48637bae8e7732b0cf24bafe" }, "downloads": -1, "filename": "jwt_user-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "6b9fb78cd3b5678f30e68c091d115e48", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5717, "upload_time": "2018-10-01T20:58:21", "url": "https://files.pythonhosted.org/packages/d9/88/d5f50b29f781fdaa4e16e1dde559ade036f4029eb86ddb10f3bd7cecf78f/jwt_user-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f704abb35db1646f82ace6990ef0b91", "sha256": "5c300c2c55bd683d71d08e5be01789e1c40acbfd9b8a3a51bc4968618c642397" }, "downloads": -1, "filename": "jwt_user-0.0.6.tar.gz", "has_sig": false, "md5_digest": "0f704abb35db1646f82ace6990ef0b91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3881, "upload_time": "2018-10-01T20:58:22", "url": "https://files.pythonhosted.org/packages/e7/02/f30abe581328125dedf4bcfdeb32bf3fb98a06a69221d6072999ab756e26/jwt_user-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "aff2d1c3fec5e69a82ef448ca5b83d93", "sha256": "ccae593f29bf2a76dceca61f803d8a0e3561ebc4c3a420af57e5766e716330d3" }, "downloads": -1, "filename": "jwt_user-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "aff2d1c3fec5e69a82ef448ca5b83d93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5874, "upload_time": "2018-10-01T21:23:41", "url": "https://files.pythonhosted.org/packages/fb/0e/bd724a4e3a0d7973c79a513f2fb6082347979f3285a1fc9e64dec0738637/jwt_user-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01b4b2e68448f8176bf886089ccf8cf4", "sha256": "b9c86b971941182c41333708050166c0be8375a28e4c31654d4a09408b188f02" }, "downloads": -1, "filename": "jwt_user-0.0.7.tar.gz", "has_sig": false, "md5_digest": "01b4b2e68448f8176bf886089ccf8cf4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4036, "upload_time": "2018-10-01T21:23:43", "url": "https://files.pythonhosted.org/packages/fe/eb/895f3ec76c0ff16982c5593f05d6be02380fb53f252f82a254106cc8e45a/jwt_user-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "b43a9ce6fe148995cd9dd7714b18d39b", "sha256": "de43d3086a690f27ca982c1e1c6e84f0e6e032f1333bd49ae94798d396cc6d17" }, "downloads": -1, "filename": "jwt_user-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "b43a9ce6fe148995cd9dd7714b18d39b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5874, "upload_time": "2018-10-01T21:27:02", "url": "https://files.pythonhosted.org/packages/98/9f/2e3a0b84affe3561f2e553aef14b7580f10051a2e468543d679472863e79/jwt_user-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "557e34f6007cd008244744af7f938b70", "sha256": "13d53712db432a26dfc145f3dc4ecf261cb1965bb2c856033875bbab15e1a5b5" }, "downloads": -1, "filename": "jwt_user-0.0.8.tar.gz", "has_sig": false, "md5_digest": "557e34f6007cd008244744af7f938b70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4034, "upload_time": "2018-10-01T21:27:03", "url": "https://files.pythonhosted.org/packages/65/54/ad0b4f0b783652ff4a0678a3eacbede74d8f93d995049cc09d9fb179b9a1/jwt_user-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "b3434ffbf6683cc08106cd11ca1bac3e", "sha256": "be208a6e24b0bd6cc83ac3b095b2272cf34e0855a5bb0815b2a37a97bb2e2052" }, "downloads": -1, "filename": "jwt_user-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "b3434ffbf6683cc08106cd11ca1bac3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6017, "upload_time": "2018-10-01T21:56:43", "url": "https://files.pythonhosted.org/packages/80/87/b6225ae0d6aeb11bcc6dd419763a9fffedcc2627a472426ef02eac7335aa/jwt_user-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23859470681a9010d9fddc8cfed1b229", "sha256": "942281cfa28ed0cac4ab1252647b9e174ebbb9ab774340c4345294c7bf632beb" }, "downloads": -1, "filename": "jwt_user-0.0.9.tar.gz", "has_sig": false, "md5_digest": "23859470681a9010d9fddc8cfed1b229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4121, "upload_time": "2018-10-01T21:56:44", "url": "https://files.pythonhosted.org/packages/f8/f7/c0480c575e74d4ad60d6907e9ae8721061fa00e4ec589b519d46547d54bd/jwt_user-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b3434ffbf6683cc08106cd11ca1bac3e", "sha256": "be208a6e24b0bd6cc83ac3b095b2272cf34e0855a5bb0815b2a37a97bb2e2052" }, "downloads": -1, "filename": "jwt_user-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "b3434ffbf6683cc08106cd11ca1bac3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6017, "upload_time": "2018-10-01T21:56:43", "url": "https://files.pythonhosted.org/packages/80/87/b6225ae0d6aeb11bcc6dd419763a9fffedcc2627a472426ef02eac7335aa/jwt_user-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23859470681a9010d9fddc8cfed1b229", "sha256": "942281cfa28ed0cac4ab1252647b9e174ebbb9ab774340c4345294c7bf632beb" }, "downloads": -1, "filename": "jwt_user-0.0.9.tar.gz", "has_sig": false, "md5_digest": "23859470681a9010d9fddc8cfed1b229", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4121, "upload_time": "2018-10-01T21:56:44", "url": "https://files.pythonhosted.org/packages/f8/f7/c0480c575e74d4ad60d6907e9ae8721061fa00e4ec589b519d46547d54bd/jwt_user-0.0.9.tar.gz" } ] }