{ "info": { "author": "origliante", "author_email": "please.visit.github@page.nowhere", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Internet", "Topic :: Security :: Cryptography", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# python-fido2-client\nWebAuthn API FIDO2 client implementation in Python\n\nSimple implementation in Python, slightly tested against https://github.com/Yubico/python-fido2/tree/master/examples/server.\nAs of today, it is instrumented for interactivity. Tested on python3.6, requires fido2, cbor2, requests.\n\nCalling this example:\n```python\nimport fido2client\nc = fido2client.Fido2HttpClient()\nc.ssl_verify = False\nc.verbose = True\n\nc.authenticate_to(\n 'https://localhost:5000',\n '/api/authenticate/begin',\n '/api/authenticate/complete',\n)\n```\n\nWill lead to:\n```\n$ python test.py\n('BEGIN RESPONSE: ', {'publicKey': {'rpId': 'localhost', 'timeout': 30000, 'challenge': b'\\x1d\\n\\xa0!? \\x8a\\xcd\\xca\\x1a\\xdb\\xa2}\\xe2\\xf7\\x9e\\x8dyvC{\\x83\\x08\\xa2>o;\\x17\\x11\\x1e\\x945\\xb3', 'allowCredentials': [{'id': b'\\x1e.\\xd8c\\xcd*\\x8a\\xebI!\\t\\x9d\\x9d\\x99-\\xb6\\x7f\\xfbf\\xf5\\xa0\\xab\\xa4@\\xbc\\xe9\\x0e\\xf6\\xf2^\\xbaG:\\x07\\xdcef\\xef\\xcf\\x0e\\xf6\\xda\\xa9\\xbf\\x06\\x84O\\xfb\\x00e\\x88\\x7f\\xa7\\x11\\x00g\\x90`\\xdf\\x85\\x97\\x95Rf', 'type': 'public-key'}], 'userVerification': 'preferred'}})\n\nTouch your authenticator device...\n\n('ASSERTION: ', AssertionResponse(credential: {'id': b'\\x1e.\\xd8c\\xcd*\\x8a\\xebI!\\t\\x9d\\x9d\\x99-\\xb6\\x7f\\xfbf\\xf5\\xa0\\xab\\xa4@\\xbc\\xe9\\x0e\\xf6\\xf2^\\xbaG:\\x07\\xdcef\\xef\\xcf\\x0e\\xf6\\xda\\xa9\\xbf\\x06\\x84O\\xfb\\x00e\\x88\\x7f\\xa7\\x11\\x00g\\x90`\\xdf\\x85\\x97\\x95Rf', 'type': 'public-key'}, auth_data: AuthenticatorData(rp_id_hash: h'49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d9763', flags: 0x01, counter: 63), signature: h'3046022100c9080974ae855029e00d2d770ae78cb1f524d9953d1f3c5e73e1055ea0ac6a5902210082edf3c9f339e78b3d21ee96bba7b677e7c98542ab4191676cc2f840fa7514b2'))\n('CLIENT DATA: ', {\"type\": \"webauthn.get\", \"clientExtensions\": {}, \"challenge\": \"HQqgIT+Kzcoa26J94veejXl2Q3uDCKI+bzsXER6UNbM=\", \"origin\": \"https://localhost:5000\"})\n('COMPLETE RESPONSE: ', {'status': 'OK'})\nAuthenticated\n$\n```\n\nTODO\n+ error handling\n+ define details of the state machine for interactive and programmatical use cases\n+ tests\n+ support for credential registration", "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/origliante/python-fido2-client", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "fido2client", "package_url": "https://pypi.org/project/fido2client/", "platform": "", "project_url": "https://pypi.org/project/fido2client/", "project_urls": { "Homepage": "https://github.com/origliante/python-fido2-client" }, "release_url": "https://pypi.org/project/fido2client/0.10.5/", "requires_dist": null, "requires_python": ">=3.5", "summary": "WebAuthn API FIDO2 client", "version": "0.10.5" }, "last_serial": 4564991, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "ec79cb5815f2716cae8857952ba5b1c2", "sha256": "b13e5fb167d392ac904d9fd443dcf7cb4826ab3e42d103d44427ddaa229f0944" }, "downloads": -1, "filename": "fido2client-0.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ec79cb5815f2716cae8857952ba5b1c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4797, "upload_time": "2018-11-24T20:14:10", "url": "https://files.pythonhosted.org/packages/3b/5f/df3844d570530eb9b6b0cc4b286c3ae157593f16441cf0cd4353b4693e2f/fido2client-0.10.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab0154570a9af307d84a3473d2ff4bea", "sha256": "912baa0bb30e8e3cccd3ed8d30fbe53b10dec793c05bc912f638e2cdb2b1bbf9" }, "downloads": -1, "filename": "fido2client-0.10.0.tar.gz", "has_sig": false, "md5_digest": "ab0154570a9af307d84a3473d2ff4bea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3533, "upload_time": "2018-11-24T20:14:13", "url": "https://files.pythonhosted.org/packages/0c/dd/449e8c9febed042cb21250bfa09fbc10bcad50214929540090ecca549b3b/fido2client-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "7ee107f893854566e16036119bef387a", "sha256": "75820013efbee21f6a334077b15b387ebbfe1e3bace07c95049ce315145f2509" }, "downloads": -1, "filename": "fido2client-0.10.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ee107f893854566e16036119bef387a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4849, "upload_time": "2018-11-27T19:06:51", "url": "https://files.pythonhosted.org/packages/c1/a7/b27151bdc928614568611027f4932be49e47e2cb039c85e0c3318a23f1af/fido2client-0.10.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83b0cbfd0b5d8217b78affa7a8ed34b9", "sha256": "a4c10b564e4d9ef1900ea25415c8daf550c3d7a27fd96df13a670333a1f7c66f" }, "downloads": -1, "filename": "fido2client-0.10.1.tar.gz", "has_sig": false, "md5_digest": "83b0cbfd0b5d8217b78affa7a8ed34b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3584, "upload_time": "2018-11-27T19:06:53", "url": "https://files.pythonhosted.org/packages/7c/da/e1d8b0d7af0acdaf81fe8d1acc46065f7e2117915241373064c81cf1e3c3/fido2client-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "a412a407280f189a11f483a9424c75e7", "sha256": "4811884abde96818eb7d5b07b86e2fb226ab2288113b78dd210d4e385ba9f6fe" }, "downloads": -1, "filename": "fido2client-0.10.2.macosx-10.14-intel.tar.gz", "has_sig": false, "md5_digest": "a412a407280f189a11f483a9424c75e7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5400, "upload_time": "2018-12-04T17:05:15", "url": "https://files.pythonhosted.org/packages/79/9c/7e08adc8e69fa2e3dda33f3ab3dccdc08e9cf87b1c46dc2cc44b3cc5609a/fido2client-0.10.2.macosx-10.14-intel.tar.gz" }, { "comment_text": "", "digests": { "md5": "88c28229611683a89de56107d6b53562", "sha256": "0fe740d15f06775fde632e250011b97a089490ae40bcaf1aac99a40292c59a12" }, "downloads": -1, "filename": "fido2client-0.10.2-py3-none-any.whl", "has_sig": false, "md5_digest": "88c28229611683a89de56107d6b53562", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 4843, "upload_time": "2018-12-04T17:05:13", "url": "https://files.pythonhosted.org/packages/53/14/f003bf9471eafd4a9441a4432d6076552d5cff52843ec2751c536c737ff1/fido2client-0.10.2-py3-none-any.whl" } ], "0.10.3": [ { "comment_text": "", "digests": { "md5": "7f9e3a45b2017d16c67424fcc0654e9a", "sha256": "2942931f6b4b84a8218d281915f18b22036d8ca2a18413d51e7349bca2ffa604" }, "downloads": -1, "filename": "fido2client-0.10.3.tar.gz", "has_sig": false, "md5_digest": "7f9e3a45b2017d16c67424fcc0654e9a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3589, "upload_time": "2018-12-04T17:07:38", "url": "https://files.pythonhosted.org/packages/8c/9c/aa80db7e4e6761568952614c691471c378417a5a18e86b872326cbac6c9e/fido2client-0.10.3.tar.gz" } ], "0.10.4": [ { "comment_text": "", "digests": { "md5": "d661ea524f883f900fa80303e447173a", "sha256": "70f1476646d229df0b307f2ca3bfdcc0a4dab10085b1d1e251bc8c7b29e6e340" }, "downloads": -1, "filename": "fido2client-0.10.4.macosx-10.14-intel.tar.gz", "has_sig": false, "md5_digest": "d661ea524f883f900fa80303e447173a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 5477, "upload_time": "2018-12-05T18:38:52", "url": "https://files.pythonhosted.org/packages/81/1c/68727f0730e09f5355eb58539b1732e917feb728a6fec604c5cfcfe9271b/fido2client-0.10.4.macosx-10.14-intel.tar.gz" } ], "0.10.5": [ { "comment_text": "", "digests": { "md5": "8a763ce534a3cc8c19662c52385cebae", "sha256": "3a7ec6df16293c37ea87fabf427669962629d15349f620b0d679a8dba1878696" }, "downloads": -1, "filename": "fido2client-0.10.5.tar.gz", "has_sig": false, "md5_digest": "8a763ce534a3cc8c19662c52385cebae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3607, "upload_time": "2018-12-05T18:39:45", "url": "https://files.pythonhosted.org/packages/b5/8b/24cbe7601515253d752e69d93c107c7d17ab8c5590ea6c87ac010a3d8543/fido2client-0.10.5.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "c83d7bc4fc8ddb66f3a64a5e63f03e11", "sha256": "6ca6b4e4dc59378300e8a997de584623cf94029f385f5698aa885564f476307b" }, "downloads": -1, "filename": "fido2client-0.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c83d7bc4fc8ddb66f3a64a5e63f03e11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4660, "upload_time": "2018-11-24T15:20:24", "url": "https://files.pythonhosted.org/packages/e8/f1/86777958feed15f6c58c8e681348e62d0d8fdcb509c9216792f64f5da75c/fido2client-0.9.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc8cfb929c8d7bb8db512a02b30d81af", "sha256": "a311d26d9243f00fae2d060b01513e7673a028e0406417e1bbdfc73a90d4b1f8" }, "downloads": -1, "filename": "fido2client-0.9.0.tar.gz", "has_sig": false, "md5_digest": "dc8cfb929c8d7bb8db512a02b30d81af", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3417, "upload_time": "2018-11-24T15:20:27", "url": "https://files.pythonhosted.org/packages/a0/e4/d136c356d5095866ccb1efa86f20b98af5776599031c7d33b1cd3d96d037/fido2client-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "b122d56cdf156f041685dc9cbbe4eb47", "sha256": "91d78b143995b018cba5738e5c8cad6fe606006d08c565aadf8e4f501b3e3fe8" }, "downloads": -1, "filename": "fido2client-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b122d56cdf156f041685dc9cbbe4eb47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4782, "upload_time": "2018-11-24T19:35:30", "url": "https://files.pythonhosted.org/packages/86/30/81ce63ca2e14d611db07ab2438cac69b96d757c2856411f63964f078061a/fido2client-0.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4af6203a0c87729ffefb5893e2352e22", "sha256": "2c654523be4de8866f2a3b1e01d1aa7674c99acba2fe1f8c8df626eabb4748cf" }, "downloads": -1, "filename": "fido2client-0.9.1.tar.gz", "has_sig": false, "md5_digest": "4af6203a0c87729ffefb5893e2352e22", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3535, "upload_time": "2018-11-24T19:35:32", "url": "https://files.pythonhosted.org/packages/f1/72/59577023fe3703fc340d418103b95faeff75fd260ce2394b694d7ac818ce/fido2client-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8a763ce534a3cc8c19662c52385cebae", "sha256": "3a7ec6df16293c37ea87fabf427669962629d15349f620b0d679a8dba1878696" }, "downloads": -1, "filename": "fido2client-0.10.5.tar.gz", "has_sig": false, "md5_digest": "8a763ce534a3cc8c19662c52385cebae", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3607, "upload_time": "2018-12-05T18:39:45", "url": "https://files.pythonhosted.org/packages/b5/8b/24cbe7601515253d752e69d93c107c7d17ab8c5590ea6c87ac010a3d8543/fido2client-0.10.5.tar.gz" } ] }