{ "info": { "author": "Philippe Muller", "author_email": "philippe.muller@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5" ], "description": "django-crowd-auth\n=================\n\n\nThis package includes a authentication backend and an authentication\nmiddleware to integrate Django's authentication system with Atlassian Crowd.\n\nWhen authenticating an user against Crowd,\nits nested groups are retrieved and mirrored in Django.\n\n\nUsage\n-----\n\n* To authenticate users against Crowd,\n add ``django_crowd_auth.backends.Backend`` to ``AUTHENTICATION_BACKENDS``.\n* To enable single-sign-on,\n add ``django_crowd_auth.middlewares.sso`` to ``MIDDLEWARE``.\n Ensure you also have\n ``django.contrib.sessions.middleware.SessionMiddleware`` and\n ``django.contrib.auth.middleware.AuthenticationMiddleware`` placed before it.\n* Ensure ``django.contrib.sessions`` is in ``INSTALLED_APPS``.\n* Add settings (see below)\n\n\nMiddlewares\n-----------\n\nOften the SSL session does not terminates directly on the Django application,\nbut on an intermediate proxy.\n\nThis package also includes 3 middlewares that rewrites the user's\n``REMOTE_ADDR`` using header set by these proxies:\n\n* ``django_crowd_auth.middlewares.x_forwarded_for``:\n Override ``REMOTE_ADDR`` with the first ``X-Forwarded-For`` entry.\n* ``django_crowd_auth.middlewares.x_real_ip``:\n Override ``REMOTE_ADDR`` with the ``X-Real-IP`` value.\n* ``django_crowd_auth.middlewares.fake_remote_addr``:\n Override ``REMOTE_ADDR`` with the ``FAKE_REMOTE_ADDR`` settings value.\n\n\n.. warning::\n\n Only use these middlewares when you *KNOW* what you're doing.\n Otherwise you could enable attackers to spoof their IP address.\n\n.. note::\n\n As the SSO middleware needs ``REMOTE_ADDR``, these middlewares must be\n declared *BEFORE* the SSO middleware.\n\n\nSettings\n--------\n\n* ``CROWD_CLIENT``: must be a dict with these keys:\n\n * ``crowd_url``: mandatory\n * ``app_name``: mandatory\n * ``app_pass``: mandatory\n * ``ssl_verify``: defaults to ``True``. Also accepts a path to a CA bundle.\n * ``timeout``: no timeout by default\n * ``client_cert``\n\n* ``CROWD_USERS_ARE_ACTIVE``: Defaults to ``True``.\n If ``True``, set the ``is_active`` user model attribute to ``True`` when\n creating Django users.\n* ``CROWD_USERS_ARE_STAFF``: Defaults to ``False``.\n If ``True``, set the ``is_staff`` user model attribute to ``True`` when\n creating Django users.\n* ``CROWD_SUPERUSERS_GROUP``: If defined, set the ``is_superuser`` user model\n attribute to ``True`` when they belong to the chosen group. By side effect,\n these users also get the ``is_staff`` attribute set to ``True``.\n* ``CROWD_SESSION_VALIDATION_INTERVAL``: Default to 300 seconds.\n The user's Crowd session is re-validated at this interval.\n\n\nExample\n+++++++\n\n.. code-block:: python\n\n CROWD_CLIENT = {\n 'crowd_url': 'https://crowd.foo.bar',\n 'app_name': 'foo',\n 'app_pass': 'bar',\n 'ssl_verify': '/etc/pki/tls/certs/ca-bundle.crt',\n 'timeout': 10,\n }\n CROWD_USERS_ARE_STAFF = True\n CROWD_SUPERUSERS_GROUP = 'administrators'\n AUTHENTICATION_BACKENDS = ['django_crowd_auth.backends.Backend']\n MIDDLEWARE = [\n 'django.contrib.sessions.middleware.SessionMiddleware',\n 'django.contrib.auth.middleware.AuthenticationMiddleware',\n 'django_crowd_auth.middlewares.sso',\n ]\n\n\nSynchronization\n---------------\n\nWhile users and groups are created on the fly\n(i.e. when they access the Django application),\nit is sometimes necessary to mirror Crowd users and groups in Django.\n\nThis package includes a ``sync_crowd`` management command for this purpose.\nTo use it, simply add ``django_crowd_auth`` to the ``INSTALLED_APPS``.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pmuller/django-crowd-auth", "keywords": "django crowd sso authentication backend middleware", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "django-crowd-auth", "package_url": "https://pypi.org/project/django-crowd-auth/", "platform": "", "project_url": "https://pypi.org/project/django-crowd-auth/", "project_urls": { "Homepage": "https://github.com/pmuller/django-crowd-auth" }, "release_url": "https://pypi.org/project/django-crowd-auth/0.8.0/", "requires_dist": null, "requires_python": "", "summary": "Atlassian Crowd SSO integration for Django applications", "version": "0.8.0" }, "last_serial": 3907395, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8258aabbbb09d436ce8454c79d77a59d", "sha256": "6a9ba5a160d0b9b345e565759070ddb4a6f7302d9b438fe521583e907c9f144f" }, "downloads": -1, "filename": "django-crowd-auth-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8258aabbbb09d436ce8454c79d77a59d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5308, "upload_time": "2017-04-30T05:50:15", "url": "https://files.pythonhosted.org/packages/f0/aa/bc8b13ee828df5ed9ba7631e8845b697010a465af45007affc34058193be/django-crowd-auth-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9ad58c5ff0b3b1d423cecacc79ac3b51", "sha256": "d11a7bcba059f925b0a45bcca8c4f4353ea182aa787dc9fcd513468d8d6aae5d" }, "downloads": -1, "filename": "django-crowd-auth-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9ad58c5ff0b3b1d423cecacc79ac3b51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5992, "upload_time": "2017-04-30T08:36:52", "url": "https://files.pythonhosted.org/packages/15/15/5ea9c2def2b9d42cfe8b2c39dc45980305a037f18bbd78e8b54cb420bd5d/django-crowd-auth-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "44b8d350eb1783186d83aa7d8a95be49", "sha256": "9aa4a703acf1ccb2b81f087f77750f1b5af17085e1f6c3313f722b44cef30313" }, "downloads": -1, "filename": "django-crowd-auth-0.3.0.tar.gz", "has_sig": false, "md5_digest": "44b8d350eb1783186d83aa7d8a95be49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6125, "upload_time": "2017-04-30T08:44:02", "url": "https://files.pythonhosted.org/packages/28/da/cf9312bb35a0d7393c0b992e2ffd29876474a824886a1c86dc07c29643e6/django-crowd-auth-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0439b2368201cb6ead6ca8c036141d23", "sha256": "9eca878252799989b99382ae23ee79d413fee7149a235c6129aabb19b4d49501" }, "downloads": -1, "filename": "django-crowd-auth-0.4.0.tar.gz", "has_sig": false, "md5_digest": "0439b2368201cb6ead6ca8c036141d23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6314, "upload_time": "2017-04-30T08:53:27", "url": "https://files.pythonhosted.org/packages/0f/b4/b67fef1e34a20a635d7e50ad2f295c9e1255b948088eb640d6ee9b09087f/django-crowd-auth-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "635b5aabf44c7c076d60ff30501f5d90", "sha256": "c6ac1b18634ca2117db4c5084f8d8ed5e91f5697989d2e56e7b30aed5dfe2aab" }, "downloads": -1, "filename": "django-crowd-auth-0.5.0.tar.gz", "has_sig": false, "md5_digest": "635b5aabf44c7c076d60ff30501f5d90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6327, "upload_time": "2017-05-02T15:11:51", "url": "https://files.pythonhosted.org/packages/8a/0a/cd7b2a4260425214a089291caa689ffe66372298007320b8cfe5f0ffac2f/django-crowd-auth-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "dc330eae2c50fc7602a2d7addc3e3a6f", "sha256": "328b6d2168892a3d3805d911b09cbadcb416c6b56cda2492b6257a40c1949a1f" }, "downloads": -1, "filename": "django-crowd-auth-0.6.0.tar.gz", "has_sig": false, "md5_digest": "dc330eae2c50fc7602a2d7addc3e3a6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6310, "upload_time": "2017-05-03T07:33:35", "url": "https://files.pythonhosted.org/packages/ca/3a/3b711195cf184dbb745601e85c9ddab8b7907dd939b0cd7037b789937c07/django-crowd-auth-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "17f79d39d8a22c4a1b6ccc95f5700203", "sha256": "f70a50ba2df7b4885c29eea56c6631d548aef08378547aa9b81e2504817276fd" }, "downloads": -1, "filename": "django-crowd-auth-0.7.0.tar.gz", "has_sig": false, "md5_digest": "17f79d39d8a22c4a1b6ccc95f5700203", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6340, "upload_time": "2017-07-19T02:08:14", "url": "https://files.pythonhosted.org/packages/c1/ad/cc11e53af190074c3c3e3052edb55a5723efd74314d0631cdf0bbcc20b47/django-crowd-auth-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "a96dd8734d8680089d2f5a80acef3a54", "sha256": "1be0057b36ed960bdf1410aa07409493735514edd8deeade852fe303b9594df2" }, "downloads": -1, "filename": "django-crowd-auth-0.8.0.tar.gz", "has_sig": false, "md5_digest": "a96dd8734d8680089d2f5a80acef3a54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6327, "upload_time": "2018-05-29T02:07:06", "url": "https://files.pythonhosted.org/packages/71/17/f5eb9dc08855ed76f7da80361c132ae11f55e516f6b0c4ceaee741e36f79/django-crowd-auth-0.8.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a96dd8734d8680089d2f5a80acef3a54", "sha256": "1be0057b36ed960bdf1410aa07409493735514edd8deeade852fe303b9594df2" }, "downloads": -1, "filename": "django-crowd-auth-0.8.0.tar.gz", "has_sig": false, "md5_digest": "a96dd8734d8680089d2f5a80acef3a54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6327, "upload_time": "2018-05-29T02:07:06", "url": "https://files.pythonhosted.org/packages/71/17/f5eb9dc08855ed76f7da80361c132ae11f55e516f6b0c4ceaee741e36f79/django-crowd-auth-0.8.0.tar.gz" } ] }