{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "wsgiauth0\n=========\n\n.. image:: https://gitlab.com/dialogue/wsgiauth0/badges/master/build.svg\n.. image:: https://gitlab.com/dialogue/wsgiauth0/badges/master/coverage.svg?job=Run%20py.test\n\nThis is an Auth0 middleware for multiple client configurations.\n\nIt adds 4 keys to `environ` mapping:\n\n* `wsgiauth0.jwt_claims`: The decoded claims dict or `None` if any error\n occurred. Example::\n\n {\n 'iss': 'issuer',\n 'sub': 'auth0|user_id',\n 'aud': 'https://example.com,\n 'exp': 1234567890,\n 'iat': 1134567890,\n }\n\n* `wsgiauth0.jwt_error`: A mapping with keys `code` and `description` or `None`\n if no error occurred, Example::\n\n {\n 'code': 'invalid_header',\n 'description': 'Authorization header must be \"Bearer token\".',\n }\n\n* `wsgiauth0.jwt_client`: A mapping with the client info used if any info were\n successfully deduced from json web token received::\n\n {\n 'id': 'NieY4eekoo3aed2fe9ei',\n 'audience': 'https://example.com',\n 'secret': 'shei6eehuF2ui9OphahW',\n }\n\n* `REMOTE_USER`: The decoded subject from `wsgiauth0.jwt_claims` or `None` if\n any error occurred.\n\nUsage\n-----\n\nConfigure your wsgi pipeline in paste deploy ini file::\n\n [filter:wsgiauth0]\n use = egg:wsgiauth0#middleware\n clients_config_file = %(here)s/auth0_clients_config.yml\n\n [pipeline:main]\n pipeline =\n wsgiauth0\n myapp\n\n [app:myapp]\n use = egg:wsgiapp#main\n\n [server:main]\n use = egg:waitress#main\n host = 0.0.0.0\n port = 6543\n\n\nConfiguration with DynamoDB\n---------------------------\n\nIt expects a `clients_config_file` key pointing to auth0 client configuration\nyaml file.\n\nHere is an example of a yaml configuration file.\n\n.. code:: yaml\n\n Client 1:\n id: oZ0ahm4Thoh1Oghiqu4oe9qu\n audience: oZ0ahm4Thoh1Oghiqu4oe9qu\n secret:\n value: noh4feibaighikeeD0inah9Rei3nei6yeenoa7uar2Dah2yaeKioph8Jux8ahte\n type: base64_url_encoded\n\n Client 2:\n id: Aen1XobahDoh7queing3eaS0@clients\n audience: https://example.com/\n secret:\n value: |\n -----BEGIN CERTIFICATE REQUEST-----\n MIIBZjCB0AIBADANMQswCQYDVQQGEwJDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw\n gYkCgYEAx2LwsUexPKQ/0GIHqugXZtIGZxSOovO754KWn3ZWBbDvm/wuh+QfmMj8\n ZTxnxRymHjSNJ04nCMcqtzl3VDwapMkM433CnyZjoJjA/fRwLRjUepLAMbmoqkOG\n k1BKNAyidyko7DBnkMayzJRfmnCwFy1hsuikh6oFSinU7MP3LBsCAwEAAaAaMBgG\n CSqGSIb3DQEJBzELEwljaGFsbGVuZ2UwDQYJKoZIhvcNAQELBQADgYEAP819zy3q\n 1gh5z5FLeFanc3TpdlcGHCQxcTMC/x9iyMpbSd2XkKLrZ02Is1Y8Ox/XeT8zNjOg\n /nulPg6YrIsywpKFR4orMvuUUMZ8uT8UVNj1pnatmXy9ikjdGtBXeU+EKkMZ4q6a\n OrG8qyB4o/WETphyxfneazWt3jrLHkKBvXA=\n -----END CERTIFICATE REQUEST-----\n type: certiticate\n\n\nConfiguration with DynamoDB\n---------------------------\n\nDynamoDB can be used as a configuration source. The configuration\ntable should have an item for each key that should be used for\nauthentication.\n\nSpecify the table name with the `clients_config_table` key, and the\nservice name with `clients_config_service`.\n\nThe table should have a hash key on the `service` field, and a sort\nkey on the `label` field (a human friendly description for the key).\nThe other fields are `id`, `audience`, `and secret` with sub-keys\n`type` and `value`.\n\nYou should require the `dynamodb` extra dependency\n(i.e. wsgiauth0[dynamodb]).", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/dialogue/wsgiauth0", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wsgiauth0", "package_url": "https://pypi.org/project/wsgiauth0/", "platform": "", "project_url": "https://pypi.org/project/wsgiauth0/", "project_urls": { "Homepage": "https://gitlab.com/dialogue/wsgiauth0" }, "release_url": "https://pypi.org/project/wsgiauth0/0.0.19/", "requires_dist": null, "requires_python": "", "summary": "Auth0 middleware for multiple client configurations", "version": "0.0.19" }, "last_serial": 3521574, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a465e8f82c1f28788e123120667bb4a2", "sha256": "b44587d5de0b1532ce04996a50cd7684b7c25f2567478c92a9a8f30da2e70744" }, "downloads": -1, "filename": "wsgiauth0-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a465e8f82c1f28788e123120667bb4a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4164, "upload_time": "2016-11-17T19:15:01", "url": "https://files.pythonhosted.org/packages/ea/02/c37c34aef3505c2b06415a9dbfd8780e34f240394479bdba937b3772a47b/wsgiauth0-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "6beaa586dd2f67b569a197babbb72f9b", "sha256": "7e9abc1cff2a3be2f7d7ce2058d28f9ea40e76a777146784f951c620a77ed547" }, "downloads": -1, "filename": "wsgiauth0-0.0.10.tar.gz", "has_sig": false, "md5_digest": "6beaa586dd2f67b569a197babbb72f9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6342, "upload_time": "2016-12-16T20:04:39", "url": "https://files.pythonhosted.org/packages/6a/08/cb4021ba3d451c75698dc6eccf057eb3c44c2d3c5939926d30ef33f1623f/wsgiauth0-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "3759bf6681afb40f3f38a0daaa6d0cc1", "sha256": "482ba0af7675421d4b4d7320deac9c6967b7f8d72c9df1f3211cf2636808391e" }, "downloads": -1, "filename": "wsgiauth0-0.0.11.tar.gz", "has_sig": false, "md5_digest": "3759bf6681afb40f3f38a0daaa6d0cc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6380, "upload_time": "2017-03-30T21:20:29", "url": "https://files.pythonhosted.org/packages/61/3f/a5eb96eb9a84bd4164fcc16daed7b80a16506569c3fe4f8b09f725050f13/wsgiauth0-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "bd0c29a1089a2e3ffd1978913483fc45", "sha256": "40ad2af748b4df8bf63a5ce5d4bbb4a94c639b5aad3b7c10be0b9a867627193b" }, "downloads": -1, "filename": "wsgiauth0-0.0.12.tar.gz", "has_sig": false, "md5_digest": "bd0c29a1089a2e3ffd1978913483fc45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6396, "upload_time": "2017-03-31T14:54:55", "url": "https://files.pythonhosted.org/packages/32/16/a3518084a3f99f56d7fa7346cf05a28725733f4f316578203e5b3c0af0d1/wsgiauth0-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "05bc5cbea56274362bb11328f0476015", "sha256": "ad35d0131bbf50a1eeaf861f857fbf8763083603e69a0aa5300e14f1eeca8ffd" }, "downloads": -1, "filename": "wsgiauth0-0.0.13.tar.gz", "has_sig": false, "md5_digest": "05bc5cbea56274362bb11328f0476015", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6492, "upload_time": "2017-04-02T22:42:47", "url": "https://files.pythonhosted.org/packages/ea/41/8833d279c93b5a38a1935c31e5cf58b237662045a841ff134686eb1f2e0b/wsgiauth0-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "ccc747cf234dc61ca2908862427eb022", "sha256": "89ff06462cec82e09da247d7899e35f622ee1d742f7f448c487901f6430e0d00" }, "downloads": -1, "filename": "wsgiauth0-0.0.14.tar.gz", "has_sig": false, "md5_digest": "ccc747cf234dc61ca2908862427eb022", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6527, "upload_time": "2017-04-28T17:25:13", "url": "https://files.pythonhosted.org/packages/37/f6/ab00a0bd2e391b31fe440bf5c66d7a7b99308b42c9ec0ae1b2268e8bc057/wsgiauth0-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "9e138c07d41cfcd34284f816958f444a", "sha256": "1c82184b07f18c0dc8519932db5774b56aa6bd0b64319cca191aecb0948d30de" }, "downloads": -1, "filename": "wsgiauth0-0.0.15.tar.gz", "has_sig": false, "md5_digest": "9e138c07d41cfcd34284f816958f444a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6926, "upload_time": "2017-07-24T14:00:40", "url": "https://files.pythonhosted.org/packages/f8/66/52763048976f382cea9bda37b8ed4ec3c17e59d98e33e552ef33fa128f1b/wsgiauth0-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "a4811bcb7c3852788e8214ab465d0ab0", "sha256": "aeab8374b7e84a5ce1f92547113e3592789664b6065dcee0b4347686287cfaf1" }, "downloads": -1, "filename": "wsgiauth0-0.0.16.tar.gz", "has_sig": false, "md5_digest": "a4811bcb7c3852788e8214ab465d0ab0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6960, "upload_time": "2017-08-11T14:50:14", "url": "https://files.pythonhosted.org/packages/eb/e2/9d8ead7911a7805164f60c6623af0041d8ab840bc4ac41d7e3a2469967b5/wsgiauth0-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "a9037ddf55284b1231c395ee0114713d", "sha256": "2dcdd52b5e4ce5638a99bafe416f444547f811c90830ac080f65f20513cddc31" }, "downloads": -1, "filename": "wsgiauth0-0.0.17.tar.gz", "has_sig": false, "md5_digest": "a9037ddf55284b1231c395ee0114713d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6995, "upload_time": "2017-08-28T16:10:00", "url": "https://files.pythonhosted.org/packages/4a/09/5c8928ba6d3512438c4e697540efa9a1673940938c30b2853e041669ab7f/wsgiauth0-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "85b1a482afd4a4b583509b56ac3b21ff", "sha256": "f429fe03cbacc64e2cbac6b67e555465a31b8fa2ac35362cebdd3f7b4a371b76" }, "downloads": -1, "filename": "wsgiauth0-0.0.18.tar.gz", "has_sig": false, "md5_digest": "85b1a482afd4a4b583509b56ac3b21ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6601, "upload_time": "2017-11-14T22:45:38", "url": "https://files.pythonhosted.org/packages/13/87/1d19eb638ba5fbc340efe837a3247ca21eb7556ae1127a3e356b72ad49bb/wsgiauth0-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "dad1456fe7267acf9269d7c71b1a884d", "sha256": "d2a46b1cd3d2fa249d8832cf27289b9d0ac7b6a341dd4d2e13a5a1b0cca964e4" }, "downloads": -1, "filename": "wsgiauth0-0.0.19.tar.gz", "has_sig": false, "md5_digest": "dad1456fe7267acf9269d7c71b1a884d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6562, "upload_time": "2018-01-25T19:41:56", "url": "https://files.pythonhosted.org/packages/d0/94/250bc198c7e31e9b63b214455b472384328c07a2a70f9c685bb7b6f52f58/wsgiauth0-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "0ab6b7a0efcc21fcb12b83ed6fd29d15", "sha256": "17df852a6c139592da5abfb3755416dd00b1f40f04fc710b9c891b37880c2eee" }, "downloads": -1, "filename": "wsgiauth0-0.0.2.tar.gz", "has_sig": false, "md5_digest": "0ab6b7a0efcc21fcb12b83ed6fd29d15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4203, "upload_time": "2016-11-17T19:32:16", "url": "https://files.pythonhosted.org/packages/7e/76/cc60ea65946b00bd5b86da254ccd47cfb34fad1cc6bdc0a8ec69864e4500/wsgiauth0-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "6d5886929b897273a3cbfc140d7f5a20", "sha256": "0ca6cc6688c2fabb98590ca436cfab9d7110a98ecc268a398f5025567a68bef1" }, "downloads": -1, "filename": "wsgiauth0-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6d5886929b897273a3cbfc140d7f5a20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4238, "upload_time": "2016-11-17T19:40:14", "url": "https://files.pythonhosted.org/packages/b7/c3/a86e2202dadee71ca20fa9d876a3f74a91ca4e920b6f779e27fbf5ce0136/wsgiauth0-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d2bb8ce564a391324073edf96a036318", "sha256": "6c9ce1dfb563027a4cf40991b9a413ccdd7aa34e8951f5c501048963220fabcd" }, "downloads": -1, "filename": "wsgiauth0-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d2bb8ce564a391324073edf96a036318", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4298, "upload_time": "2016-11-17T19:53:40", "url": "https://files.pythonhosted.org/packages/cf/f0/82096e60d297a42e94a1ad1c580ec3d1680f853c6783f4b2e0b1603741c0/wsgiauth0-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "66bdbce1c60223d6b4e6ae252a9c2deb", "sha256": "30d3058b4da228a76816720413dc8f31b39e04f8d2d216d0011a4d640862cf69" }, "downloads": -1, "filename": "wsgiauth0-0.0.5.tar.gz", "has_sig": false, "md5_digest": "66bdbce1c60223d6b4e6ae252a9c2deb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4312, "upload_time": "2016-11-17T20:30:22", "url": "https://files.pythonhosted.org/packages/3e/c8/0a521707c59164b983cc4228f361a6bafd023b22beac9e286317749e8361/wsgiauth0-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "42b3c7f156e064d5a47ab6b509cb175a", "sha256": "88cfa1f186965ca33a940034168f4c0fab45779205433a5ba15f7606ccf200d1" }, "downloads": -1, "filename": "wsgiauth0-0.0.6.tar.gz", "has_sig": false, "md5_digest": "42b3c7f156e064d5a47ab6b509cb175a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4797, "upload_time": "2016-11-17T22:27:25", "url": "https://files.pythonhosted.org/packages/79/49/b1161908d316ab416cfb57006efa426b81675bf692ec74aa144590ab95ce/wsgiauth0-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "2d82786d8de3b498b706c7e379e0711e", "sha256": "cc69f6b9f85faafb893b3eaf389b9b6d01234ecfb4913429c06e92aa65b613f8" }, "downloads": -1, "filename": "wsgiauth0-0.0.7.tar.gz", "has_sig": false, "md5_digest": "2d82786d8de3b498b706c7e379e0711e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4840, "upload_time": "2016-11-18T17:40:35", "url": "https://files.pythonhosted.org/packages/6a/20/63d39486ad2f5576d7990ff966cdb7002bc96bd0da8e9ab4c8e0598eed4e/wsgiauth0-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "e0ed6ba48bc7ab5d4e65cd8f66309826", "sha256": "76369658169389626fbf03aa296376e112ca113cb225f4d510e6387c4eb01884" }, "downloads": -1, "filename": "wsgiauth0-0.0.8.tar.gz", "has_sig": false, "md5_digest": "e0ed6ba48bc7ab5d4e65cd8f66309826", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6186, "upload_time": "2016-12-15T21:32:56", "url": "https://files.pythonhosted.org/packages/a9/d1/15f899120cc4a7779894fbcfec46f9793ba2efcf9b5110a772c519f465f3/wsgiauth0-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "75c06aecaf3b5bd33a86c884709e6719", "sha256": "56b2d5c9117f8f1bd76ab3ad9e2d1b0419b518a191f3e5ddec360f78285979a5" }, "downloads": -1, "filename": "wsgiauth0-0.0.9.tar.gz", "has_sig": false, "md5_digest": "75c06aecaf3b5bd33a86c884709e6719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6279, "upload_time": "2016-12-16T15:41:17", "url": "https://files.pythonhosted.org/packages/d3/9a/c13bb730df3676272c2564db1f29b1197f0f5518e36def2852f192f017cb/wsgiauth0-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dad1456fe7267acf9269d7c71b1a884d", "sha256": "d2a46b1cd3d2fa249d8832cf27289b9d0ac7b6a341dd4d2e13a5a1b0cca964e4" }, "downloads": -1, "filename": "wsgiauth0-0.0.19.tar.gz", "has_sig": false, "md5_digest": "dad1456fe7267acf9269d7c71b1a884d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6562, "upload_time": "2018-01-25T19:41:56", "url": "https://files.pythonhosted.org/packages/d0/94/250bc198c7e31e9b63b214455b472384328c07a2a70f9c685bb7b6f52f58/wsgiauth0-0.0.19.tar.gz" } ] }