{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Framework :: Pyramid", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application" ], "description": "enDI OpenID Provider\n=================================\n\nThis is still a work in progress.\n\nOpen Id connect provider based on enDI (http://endi.coop).\n\nOnly *Authorization Code Flow* is supported\n\nGetting Started\n---------------\n\n- cd \n\n- $VENV/bin/pip install -e .\n\n- $VENV/bin/initialize_endi_oidc_provider_db development.ini\n\n- $VENV/bin/pserve development.ini\n\n\nAuthorization handling\n-----------------------\n\nGenerate a new client's key :\n\n.. code-block:: console\n\n oidc-manage clientadd --client= --uri= --scopes= --cert_salt=\n\nconfig_uri : Your ini file\n\nclient: A label for your client\n\nredirect_uri : The redirect uri has described in the openid connect specifications (The one passed in the Authorize step)\n\nscopes : The scope the application is requesting (at least the openid scope should be provided) e.g: \"openid profile\"\n\ncert_salt : A salt random key that will be used to encrypt the client secret in the database\n\nAfter generating both client_id and client_secret. The client app is able to request authentication.\n\n\nAuthorize Endpoint\n~~~~~~~~~~~~~~~~~~~\n\nThe client app can call the Authorization url :\n\nhttps://myoidc_provider.com/oidc/authorize\n\nIt allows :\n\n - Authenticate a user\n - Get an Authorization code in the response\n\nToken url\n~~~~~~~~~~~~~~\n\nCalled in the background, the Token endpoint is accessible at the following url :\n\nhttps://myoidc_provider.com/oidc/token\n\nThe RFC : https://tools.ietf.org/html/rfc6749#section-2.3.1\n\nDescribes Client Password transmission methods.\n\nSupported client auth method :\n\n* Through request headers : Basic auth tokens are supported\n* Through request POST params : client_id and client_secret keys are then expected\n\nIn the response you get :\n\n - An access token with mandatory informations\n - An id_token JWS encrypted as described in the spec\n - Since we use code flow, the id_token also returns the at_hash access_token identification key\n\n\nenDI integration\n-----------------------\n\nIn your enDI's ini file add the following :\n\n.. code-block:: console\n\n pyramid.includes =\n ...\n endi_oidc_provider\n ...\n\n\n(That's for model registration so that the db startup initialize the tables)\n\nAnd add the following :\n\n.. code-block:: console\n\n endi.includes =\n ...\n endi_oidc_provider.plugin\n ...\n\nThat register OIDC client application configuration UI :\n\n* routes\n* views\n* traversal tree branch\n* template api stuff\n* templates\n* menu entries\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "web wsgi bfg pylons pyramid", "license": "", "maintainer": "", "maintainer_email": "", "name": "endi-oidc-provider", "package_url": "https://pypi.org/project/endi-oidc-provider/", "platform": "", "project_url": "https://pypi.org/project/endi-oidc-provider/", "project_urls": null, "release_url": "https://pypi.org/project/endi-oidc-provider/5.0.1/", "requires_dist": [ "pyramid", "pyramid-chameleon", "pyramid-debugtoolbar", "pyramid-tm", "SQLAlchemy", "transaction", "zope.sqlalchemy", "waitress", "libsass ; extra == 'dev'", "WebTest (>=1.3.1) ; extra == 'testing'", "pytest ; extra == 'testing'", "pytest-cov ; extra == 'testing'" ], "requires_python": "", "summary": "endi_oidc_provider", "version": "5.0.1" }, "last_serial": 5578042, "releases": { "5.0.0": [ { "comment_text": "", "digests": { "md5": "f468c11c1c3d7049af0634a28df1cb9b", "sha256": "3eaa34f3e9426e3d328e33a65b8d1b6b9265a10a361f469f3ab58e20b6a815d8" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f468c11c1c3d7049af0634a28df1cb9b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 40743, "upload_time": "2019-03-19T14:20:12", "url": "https://files.pythonhosted.org/packages/1d/e6/190314f00ee737b82fa73af1303c21c051d7a04ce1c747742755515928df/endi_oidc_provider-5.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fdafd64ba1e35e76db3dd7b0c3a526f8", "sha256": "d7c146e66b4fac5217192c2568f729836906f8ce8a99b3d54f99cdc24bc431fd" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.0.tar.gz", "has_sig": false, "md5_digest": "fdafd64ba1e35e76db3dd7b0c3a526f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30186, "upload_time": "2019-03-19T14:20:14", "url": "https://files.pythonhosted.org/packages/94/52/691a9f1fedda2f9dcd5e86026ca3bbf7175f31fc8f05c67bca31585873a7/endi_oidc_provider-5.0.0.tar.gz" } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "2c08efc673d51c59421eafb59cd0736f", "sha256": "cd51f0bde44db0b2b9553decd6df634b58e3ccf151cd4ce18348a88a9f6c5908" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "2c08efc673d51c59421eafb59cd0736f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 40859, "upload_time": "2019-07-24T14:58:34", "url": "https://files.pythonhosted.org/packages/ee/f8/823485ca1e65310acae4abe0561db142a01210e74a309a734767c6d53aed/endi_oidc_provider-5.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2db0216ec3e657e48ac44511a825c0ba", "sha256": "0eb7be1b427c9db914cdd7a07ba23cbbaa377c54153a3076b5ea48f401046814" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.1.tar.gz", "has_sig": false, "md5_digest": "2db0216ec3e657e48ac44511a825c0ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29529, "upload_time": "2019-07-24T14:58:36", "url": "https://files.pythonhosted.org/packages/76/af/c6ba454a9b37c3bc10baa14806851d51e809f570c8fce5317a3b1985602f/endi_oidc_provider-5.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2c08efc673d51c59421eafb59cd0736f", "sha256": "cd51f0bde44db0b2b9553decd6df634b58e3ccf151cd4ce18348a88a9f6c5908" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "2c08efc673d51c59421eafb59cd0736f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 40859, "upload_time": "2019-07-24T14:58:34", "url": "https://files.pythonhosted.org/packages/ee/f8/823485ca1e65310acae4abe0561db142a01210e74a309a734767c6d53aed/endi_oidc_provider-5.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2db0216ec3e657e48ac44511a825c0ba", "sha256": "0eb7be1b427c9db914cdd7a07ba23cbbaa377c54153a3076b5ea48f401046814" }, "downloads": -1, "filename": "endi_oidc_provider-5.0.1.tar.gz", "has_sig": false, "md5_digest": "2db0216ec3e657e48ac44511a825c0ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29529, "upload_time": "2019-07-24T14:58:36", "url": "https://files.pythonhosted.org/packages/76/af/c6ba454a9b37c3bc10baa14806851d51e809f570c8fce5317a3b1985602f/endi_oidc_provider-5.0.1.tar.gz" } ] }