{ "info": { "author": "FICODES", "author_email": "contact@ficodes.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# WireCloud Keycloak plugin\n\n[![Tests](https://github.com/Ficodes/wirecloud-keycloak/actions/workflows/tests.yml/badge.svg)](https://github.com/Ficodes/wirecloud-keycloak/actions/workflows/tests.yml)\n[![Coverage Status](https://coveralls.io/repos/github/Ficodes/wirecloud-keycloak/badge.svg?branch=master)](https://coveralls.io/github/Ficodes/wirecloud-keycloak?branch=master)\n\nThis WireCloud plugin allows the usage of Keycloak as IDM for the authentication of WireCloud\nusers as well as the usage of JWT tokens issued for those users to access to backend services.\n\nThis plugin can be installed with pip as follows:\n\n```\npip install wirecloud-keycloak\n```\n\nOr using the sources:\n\n```\npython setup.py install\n```\n\nOnce installed, it can be enabled by editing your `settings.py` file and including `wirecloud.keycloak` and `social_django` on the `INSTALLED_APPS` setting, addiding `KeycloakOpenIdConnect` as the authentication backend to use and configuring it.\n\n```\nINSTALLED_APPS += (\n # 'django.contrib.sites',\n # 'wirecloud.oauth2provider',\n 'wirecloud.keycloak',\n 'haystack',\n 'social_django'\n)\n\nAUTHENTICATION_BACKENDS = ('wirecloud.keycloak.social_auth_backend.KeycloakOpenIdConnect',)\n\nSOCIAL_AUTH_NO_DEFAULT_PROTECTED_USER_FIELDS = True\nSOCIAL_AUTH_PROTECTED_USER_FIELDS = ('username', 'id', 'pk', 'email', 'password', 'is_active')\n\nSOCIAL_AUTH_KEYCLOAK_OIDC_URL = 'https://keycloak.example.com'\nSOCIAL_AUTH_KEYCLOAK_OIDC_REALM = 'demo'\nSOCIAL_AUTH_KEYCLOAK_OIDC_KEY = 'wirecloud'\nSOCIAL_AUTH_KEYCLOAK_OIDC_SECRET = '7667d30b-4e1a-4dfe-a040-0b6fdc4758f5'\nSOCIAL_AUTH_KEYCLOAK_OIDC_GLOBAL_ROLE = True\n```\n\nThese settings include:\n\n* `SOCIAL_AUTH_KEYCLOAK_OIDC_URL`: URL of the Keycloak server\n* `SOCIAL_AUTH_KEYCLOAK_OIDC_REALM`: Keycloak realm where WireCloud is registered\n* `SOCIAL_AUTH_KEYCLOAK_OIDC_KEY`: Client ID of the WireCloud application\n* `SOCIAL_AUTH_KEYCLOAK_OIDC_SECRET`: Client secret of the WireCloud application\n* `SOCIAL_AUTH_KEYCLOAK_OIDC_GLOBAL_ROLE`: Whether the admin role is taken from the realm instead of from the client (default: `False`)\n\nThis plugin is able to map Keycloak roles into WireCloud groups. To enable it, you should enable the `realm roles` and the `client roles` mappings either for the wirecloud application or for the `roles` scope. This mapping should include role information on the ID token.\n\nFinally, to add backchannel logout support (Single Sign Off), the following code: `url('', include('wirecloud.keycloak.urls')),` has to be added inside the urlpatterns list defined on your `urls.py` file. Once done this, you can access the Keycloak console to configure the **Admin URL** of the WireCloud application to point into the following url: `http(s)://wirecloud.example.com/keycloak`.\n\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/Ficodes/wirecloud-keycloak", "keywords": "", "license": "AGPLv3+", "maintainer": "", "maintainer_email": "", "name": "wirecloud-keycloak", "package_url": "https://pypi.org/project/wirecloud-keycloak/", "platform": "", "project_url": "https://pypi.org/project/wirecloud-keycloak/", "project_urls": { "Homepage": "https://github.com/Ficodes/wirecloud-keycloak" }, "release_url": "https://pypi.org/project/wirecloud-keycloak/0.4.5/", "requires_dist": [ "wirecloud (<1.5,>=1.2.0)", "social-auth-core[openidconnect] (<5.0.0)", "social-auth-app-django (<6.0.0)" ], "requires_python": "", "summary": "WireCloud extension supporting authentication with Keycloak IDM", "version": "0.4.5", "yanked": false, "yanked_reason": null }, "last_serial": 12050311, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "803f7499b95b75e91fc66b2d83a9c687", "sha256": "f4a8280bbc11d03ff515b2c0beb4c0a7b93cec0cd1869848df564136ee8a5f18" }, "downloads": -1, "filename": "wirecloud_keycloak-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "803f7499b95b75e91fc66b2d83a9c687", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20228, "upload_time": "2019-08-01T11:18:06", "upload_time_iso_8601": "2019-08-01T11:18:06.251055Z", "url": "https://files.pythonhosted.org/packages/48/e8/eab49586db8b2a5b09bd0116ff6e9edff09288459160c52fdd3e2104fbf2/wirecloud_keycloak-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3881103b21dbe2b9ac1dd5cdd527bd9b", "sha256": "61ea59e4c7bd33f3ca251c1e031e92e6e998aca53bc834dca179275448f0738e" }, "downloads": -1, "filename": "wirecloud-keycloak-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3881103b21dbe2b9ac1dd5cdd527bd9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11908, "upload_time": "2019-08-01T11:18:08", "upload_time_iso_8601": "2019-08-01T11:18:08.520192Z", "url": "https://files.pythonhosted.org/packages/09/0d/97768ddf26d2340a8fe4aa9fd48c568604512fbfdd57b3f2851a2f8247f6/wirecloud-keycloak-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bbae3bc0ce8788579edcd1ee353e0b8a", "sha256": "ec46114e49a0090353e22c0b1695bfe1458364eb6ed9802a553fd1aee1d02175" }, "downloads": -1, "filename": "wirecloud_keycloak-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bbae3bc0ce8788579edcd1ee353e0b8a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20147, "upload_time": "2019-10-28T22:25:19", "upload_time_iso_8601": "2019-10-28T22:25:19.549712Z", "url": "https://files.pythonhosted.org/packages/4c/f3/46be041912d0d465d07b8e7837c6721bf3778f984bdd73bd5fb58776916a/wirecloud_keycloak-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ff0171376c19b1f7ab77649ad3273c5c", "sha256": "ed4fe0b9bbf677e4bddc3359bd9ba9db421aa394fa5ed629dae13cad4b33fbea" }, "downloads": -1, "filename": "wirecloud-keycloak-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ff0171376c19b1f7ab77649ad3273c5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11648, "upload_time": "2019-10-28T22:25:10", "upload_time_iso_8601": "2019-10-28T22:25:10.062146Z", "url": "https://files.pythonhosted.org/packages/1c/3c/582409bf36608edec95554193aff417392f8642f39f7417a9877b2f04cf2/wirecloud-keycloak-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2fa63d01453c060af828342e75974acc", "sha256": "4a6fe17d3198a5de3426ba9b89e7ede356920613cde8b1556cb078070072a310" }, "downloads": -1, "filename": "wirecloud_keycloak-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2fa63d01453c060af828342e75974acc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20950, "upload_time": "2019-11-27T13:13:33", "upload_time_iso_8601": "2019-11-27T13:13:33.979858Z", "url": "https://files.pythonhosted.org/packages/0c/05/a7af91ef0b067b2200275a94a0b0616db1de417b7d0ae8f5f5e346a0a4b7/wirecloud_keycloak-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5103d98e0f18a62f2d9f0ce276c01dcd", "sha256": "871b40e03f03a814dbb0e379a20c9a341026a36176f04469df0c33e5ec57f683" }, "downloads": -1, "filename": "wirecloud-keycloak-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5103d98e0f18a62f2d9f0ce276c01dcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12368, "upload_time": "2019-11-27T13:13:43", "upload_time_iso_8601": "2019-11-27T13:13:43.823489Z", "url": "https://files.pythonhosted.org/packages/2f/70/951d1e4c9ede3b6040f01dbecb0de1daeed65d03e6c876042c1368c82217/wirecloud-keycloak-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "30ca82f49f859d1234e29e8e94ac9797", "sha256": "31fd9a8849cb44694c8eb82c7e33a9547afe0592fe565c9f7552bd5a8ba4a207" }, "downloads": -1, "filename": "wirecloud_keycloak-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "30ca82f49f859d1234e29e8e94ac9797", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20972, "upload_time": "2019-12-16T02:03:03", "upload_time_iso_8601": "2019-12-16T02:03:03.232025Z", "url": "https://files.pythonhosted.org/packages/94/b4/d3b918b86652a3febde0f9c8d0c8aae5b69f832a8492a93d5b7b865cac2a/wirecloud_keycloak-0.2.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b37bd5bfe39e7f7237d8476d8c0d519d", "sha256": "e84d4e96ef2cb100cce3d2d85480664c69aac5989a51bca3a511e0fe3bb7a260" }, "downloads": -1, "filename": "wirecloud-keycloak-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b37bd5bfe39e7f7237d8476d8c0d519d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12397, "upload_time": "2019-12-16T02:02:49", "upload_time_iso_8601": "2019-12-16T02:02:49.536643Z", "url": "https://files.pythonhosted.org/packages/6e/6a/67246b13b56a48c7bf5961e8b28f3de87aa9bec04af868c90c69bca92e9a/wirecloud-keycloak-0.2.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "c27a69da64bf771153ba033393fc3ed1", "sha256": "20dca89719e3ae57b75af75784c93c4ed5bd7861553f036b54537acb13a57c07" }, "downloads": -1, "filename": "wirecloud_keycloak-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c27a69da64bf771153ba033393fc3ed1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20986, "upload_time": "2019-12-16T21:03:01", "upload_time_iso_8601": "2019-12-16T21:03:01.878708Z", "url": "https://files.pythonhosted.org/packages/c5/52/7d58d398e43d955be5807f24147c15f40953ad30d68a668dc38b25044141/wirecloud_keycloak-0.2.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b8b913f341060c3269b49668afc622b8", "sha256": "60e1cf988dbeac9a89f4dde04ce5d57338d6305cf1a560a4725e3a51e15ef9e8" }, "downloads": -1, "filename": "wirecloud-keycloak-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b8b913f341060c3269b49668afc622b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12445, "upload_time": "2019-12-16T21:03:13", "upload_time_iso_8601": "2019-12-16T21:03:13.880641Z", "url": "https://files.pythonhosted.org/packages/5e/40/f3781f114bc989d849eb2b9ccb6497b5cc065799985ce5b220c87b885c8e/wirecloud-keycloak-0.2.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "8d21243cd4f009c95ddb8a563e855421", "sha256": "a1ad9d0996868b21a033dbcfa7fae9bf255a05cfbe4367736321ba4aa4d0e2bf" }, "downloads": -1, "filename": "wirecloud_keycloak-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "8d21243cd4f009c95ddb8a563e855421", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21026, "upload_time": "2020-05-18T14:13:04", "upload_time_iso_8601": "2020-05-18T14:13:04.598942Z", "url": "https://files.pythonhosted.org/packages/ab/b9/93de667db4bec8dc6a4c753dfa1fa0ee627c5059a11c99cd4f31a3bf2bb5/wirecloud_keycloak-0.2.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a096531fdb748fee65b326f02cef6348", "sha256": "1fb8e64fcb2319bb7f0cfcda87de6f69827e93da8b19ec50c2785b66dd553650" }, "downloads": -1, "filename": "wirecloud-keycloak-0.2.4.tar.gz", "has_sig": false, "md5_digest": "a096531fdb748fee65b326f02cef6348", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12483, "upload_time": "2020-05-18T14:13:06", "upload_time_iso_8601": "2020-05-18T14:13:06.182156Z", "url": "https://files.pythonhosted.org/packages/71/45/f8bdf2f6e2334c185b963e56171496a929c8c432728fe18cae6ad6bb14d2/wirecloud-keycloak-0.2.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "182543a0f2b149416f7318f69b5d2c19", "sha256": "f9ab06d69967064b3047cba4590713a34907775e93d53c1217424a4e0803e61d" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "182543a0f2b149416f7318f69b5d2c19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20997, "upload_time": "2020-07-21T16:09:18", "upload_time_iso_8601": "2020-07-21T16:09:18.694854Z", "url": "https://files.pythonhosted.org/packages/90/3d/072ac1022af272ef918be2590199f2eff99234c5c73d1f4493ddfec20e38/wirecloud_keycloak-0.3.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "bb88c90a242aae5b7037438c1805bee4", "sha256": "4c566ffb7baded373ff59285485c2771a831dcc4dabc2e746770eba1f3c67553" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bb88c90a242aae5b7037438c1805bee4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21734, "upload_time": "2020-07-22T15:13:34", "upload_time_iso_8601": "2020-07-22T15:13:34.184418Z", "url": "https://files.pythonhosted.org/packages/ed/91/4665ed84394f17a472121878b1ad827f8957a7505a266ff4f6ab009dbf9b/wirecloud_keycloak-0.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "9cd096d8e5773ce3fad4a5d30bfc6016", "sha256": "b3b66864afb457fa2f81d156913a2eec6cb307fac04e927b72ba3270d52b9476" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9cd096d8e5773ce3fad4a5d30bfc6016", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21821, "upload_time": "2020-07-28T14:51:29", "upload_time_iso_8601": "2020-07-28T14:51:29.827654Z", "url": "https://files.pythonhosted.org/packages/8f/46/f1bd801e492432b2a9d0bdbb46b8469a44f812930a297be8868464069bcd/wirecloud_keycloak-0.3.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "148bc734a50c54f368c90a671fd1f03f", "sha256": "4a4a014f40980bbc9b0397591cc7c374b06ea9f63dfe4476f2bd0e8fe5d51844" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "148bc734a50c54f368c90a671fd1f03f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21972, "upload_time": "2020-07-30T10:55:07", "upload_time_iso_8601": "2020-07-30T10:55:07.994805Z", "url": "https://files.pythonhosted.org/packages/7f/82/4ef3ada418e0d5fb0c03a3736189f4b1fcf809e6adbb4dab3f3fd9e1f040/wirecloud_keycloak-0.3.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "4d3dfc77fc39ae931bbe2411499d21b4", "sha256": "2d35013612bf33ba013e00932a6d6bff76e23b4baa00e9e30f84b2818ba13ba8" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4d3dfc77fc39ae931bbe2411499d21b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21969, "upload_time": "2020-07-30T12:29:12", "upload_time_iso_8601": "2020-07-30T12:29:12.540963Z", "url": "https://files.pythonhosted.org/packages/f4/46/7e316893ddeb6ff77fa49c0b7e922f3dadb231c342fc810f0010ada7ffc2/wirecloud_keycloak-0.3.4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "96cfd03b9863fab99743394f9fddfd54", "sha256": "523197fe2d672b8b8028862246ca1b69d72884431b491f95b5d604a0ad5a522d" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "96cfd03b9863fab99743394f9fddfd54", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22132, "upload_time": "2021-04-21T20:27:54", "upload_time_iso_8601": "2021-04-21T20:27:54.879524Z", "url": "https://files.pythonhosted.org/packages/21/09/9bd03ebf9a00ef25206e8400d2b0680735652a3218fe31bc31ec08d9eb97/wirecloud_keycloak-0.3.5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "7398d3d65e7f46cdd343a60c7551819a", "sha256": "a1bc6c20ffd17e2421b9359ce7a4882d9f16f6820c8a1a7847db494d58c8604f" }, "downloads": -1, "filename": "wirecloud_keycloak-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "7398d3d65e7f46cdd343a60c7551819a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22276, "upload_time": "2021-04-23T15:32:45", "upload_time_iso_8601": "2021-04-23T15:32:45.791586Z", "url": "https://files.pythonhosted.org/packages/26/2f/81d8d33f731b1b0998ccf60d493f1cb49214c4854cd31eb1ea490d81501a/wirecloud_keycloak-0.3.6-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "71d40235b2394f85f16ba9f22ed6424f", "sha256": "f7b5c4f86f29cf6a19c2e9d35aa5926d7fdc118d7918c67f140d05c96062b14d" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "71d40235b2394f85f16ba9f22ed6424f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 22896, "upload_time": "2021-07-05T10:55:04", "upload_time_iso_8601": "2021-07-05T10:55:04.899609Z", "url": "https://files.pythonhosted.org/packages/3c/96/e9b04bd881927a168ba6978259fcf7b26dd140b5cb8e114c7120294de281/wirecloud_keycloak-0.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "bd2bbd5cebbf07d2565b255a01d16edc", "sha256": "48f41477a885e62b5323b7e5111a513e71bcf5594db4760fb763c9a677b74275" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bd2bbd5cebbf07d2565b255a01d16edc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23799, "upload_time": "2021-07-05T14:44:55", "upload_time_iso_8601": "2021-07-05T14:44:55.341826Z", "url": "https://files.pythonhosted.org/packages/7c/c6/6227b416cb835885499783c95a9c820387e570e09b9294893e57df861de4/wirecloud_keycloak-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "08d1207d9059afafa997e686dcd74e0f", "sha256": "4d88bfeeec14dd33701a4029e3602431ad62d64d6c2b5ab3875a33e85e353fd6" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "08d1207d9059afafa997e686dcd74e0f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23875, "upload_time": "2021-07-05T21:45:28", "upload_time_iso_8601": "2021-07-05T21:45:28.925437Z", "url": "https://files.pythonhosted.org/packages/38/de/cf45146e4e5b0c4546e473de64def148570ac7b901d4b9bb357a62e21c2a/wirecloud_keycloak-0.4.2-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "b6c8d405f049e45fa7bb33abb82349ed", "sha256": "a833eab49fec5418f29b4d0acfa4075183b4e9697ff32a40c51c3355fca27903" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b6c8d405f049e45fa7bb33abb82349ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24394, "upload_time": "2021-07-08T14:43:59", "upload_time_iso_8601": "2021-07-08T14:43:59.457020Z", "url": "https://files.pythonhosted.org/packages/40/ec/c94849e8038c22aaccd5cc57f906156417fe5d0f98f400a2505a294abc10/wirecloud_keycloak-0.4.3-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "4b06426ff5941a2652e50dede8daf2f0", "sha256": "0c4b03ae33b54baf1fe39b4bd0d96db7d0d4fe4c6589dbdae4cca48c1c15d75f" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "4b06426ff5941a2652e50dede8daf2f0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24617, "upload_time": "2021-07-09T04:06:24", "upload_time_iso_8601": "2021-07-09T04:06:24.436246Z", "url": "https://files.pythonhosted.org/packages/20/84/50008b93c10ce5161c49ae69a79e7804c3f5ee71db06831360db010d3868/wirecloud_keycloak-0.4.4-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "0c5c93f6a4ec7c929bd2022e9165f408", "sha256": "3ddd457ebe6278ce6a0eef256c263fd9c2ef317ff557ddcd01eabbbe735019ea" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0c5c93f6a4ec7c929bd2022e9165f408", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25598, "upload_time": "2021-11-17T17:04:10", "upload_time_iso_8601": "2021-11-17T17:04:10.113563Z", "url": "https://files.pythonhosted.org/packages/bf/99/394061a280ca3ea5b86388469b675b7b806a00527f955ed6625b5a8dbe5e/wirecloud_keycloak-0.4.5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0c5c93f6a4ec7c929bd2022e9165f408", "sha256": "3ddd457ebe6278ce6a0eef256c263fd9c2ef317ff557ddcd01eabbbe735019ea" }, "downloads": -1, "filename": "wirecloud_keycloak-0.4.5-py3-none-any.whl", "has_sig": false, "md5_digest": "0c5c93f6a4ec7c929bd2022e9165f408", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25598, "upload_time": "2021-11-17T17:04:10", "upload_time_iso_8601": "2021-11-17T17:04:10.113563Z", "url": "https://files.pythonhosted.org/packages/bf/99/394061a280ca3ea5b86388469b675b7b806a00527f955ed6625b5a8dbe5e/wirecloud_keycloak-0.4.5-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }