{ "info": { "author": "lambdaTW", "author_email": "lambda@lambda.tw", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3.7" ], "description": "# Ponddy Auth Library\nProvide the class for the Django restful framework authentication, accept the `Auth` token and check the name of _ in django.contrib.auth.models.Group or not.\nIf the group exists then append the API_AGENT_PROPERTY_NAME into `request.user` let you can check either API or user permissions.\n\nProvide the Django model permission class compatible with the restful framework, let it can support valid the permission what in this request contains the API's permission validation.\n\n## Usage\n### Install package\n```shell-script\npip install -U ponddy-auth\n```\n\n### Install into restful framework authentication setting\n```python\nREST_FRAMEWORK = {\n # ...\n 'DEFAULT_AUTHENTICATION_CLASSES': (\n 'rest_framework.authentication.SessionAuthentication',\n 'rest_framework.authentication.BasicAuthentication',\n 'ponddy_auth.authentication.SSOAuthentication', # Add this line\n ),\n}\n```\n\n## Settings\n### AUTH_TOKEN_VALID_URL\nThe real Auth server URL\n - None default\n### API_AGENT_PREFIX\nThe prefix of API name of group\n - Default: api_agent\n### API_AGENT_PROPERTY_NAME\nThe property name what injects into the `request.user` object\n - Default: _api_agent\n\n## Permission\n### Check permission manually\n```python\n# project/app/views.py\nfrom rest_framework.decorators import api_view\n\n\n@api_view(['GET'])\ndef my_view(request):\n if request.user._api_agent.has_perm('auth.view_users') or \\\n request.user._api_agent.has_perms(['app.perm', 'app.perm']):\n # do something\n pass\n```\n\n### Use Permission class\n```python\n# project/app/views.py\nfrom django.contrib.auth.models import User\nfrom rest_framework import viewsets\n\nfrom ponddy_auth.permissions import SSODjangoModelPermissions\n\nfrom .serializers import UserSerializer\n\n\nclass UserViewSet(viewsets.ModelViewSet):\n queryset = User.objects.all()\n serializer_class = UserSerializer\n permission_classes = [SSODjangoModelPermissions, ]\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/samwuTW/ponddy-auth", "keywords": "Ponddy Auth SSO", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ponddy-auth", "package_url": "https://pypi.org/project/ponddy-auth/", "platform": "", "project_url": "https://pypi.org/project/ponddy-auth/", "project_urls": { "Homepage": "https://github.com/samwuTW/ponddy-auth" }, "release_url": "https://pypi.org/project/ponddy-auth/0.0.11/", "requires_dist": [ "Django", "djangorestframework", "python-jose" ], "requires_python": "", "summary": "The Ponddy Auth SSO authentication library", "version": "0.0.11" }, "last_serial": 5758060, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "e9a432787a8d7b1ad4d2c615960086ec", "sha256": "9396b88c02f4bed3c8f3b497c722b30c618fbaa3036e92d8bdb328cc213daa0f" }, "downloads": -1, "filename": "ponddy_auth-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e9a432787a8d7b1ad4d2c615960086ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3246, "upload_time": "2019-07-05T07:53:53", "url": "https://files.pythonhosted.org/packages/f9/ae/2e63cdf5392b23b35b93bf5973c26dc4f7583f966c8acdc486525731bffa/ponddy_auth-0.0.1-py3-none-any.whl" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "71d12aa4f8537cb11baad34ee288200b", "sha256": "b5cb42433433ac24c6b9a947d27858d9e57fd562bf96feda2f569aeb3db05b86" }, "downloads": -1, "filename": "ponddy_auth-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "71d12aa4f8537cb11baad34ee288200b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4191, "upload_time": "2019-08-27T04:10:19", "url": "https://files.pythonhosted.org/packages/11/4b/17f649abfeecb988e3c7dfbf775e312e83e132daeea76761d814cd03ca1d/ponddy_auth-0.0.10-py3-none-any.whl" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "4eaebb45afd1116da0c7acd8d332b457", "sha256": "897ae974e00adc173c7c39559bdee4a9f4f81ebc2fcedfbbb309476dcf53e666" }, "downloads": -1, "filename": "ponddy_auth-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "4eaebb45afd1116da0c7acd8d332b457", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4231, "upload_time": "2019-08-30T03:03:37", "url": "https://files.pythonhosted.org/packages/4e/81/03832e154ba65a5a432baefb1a0dd86fd12f02cf2e87a2d1370ad897d953/ponddy_auth-0.0.11-py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "ae76087690746bc04c99ec995e9e914e", "sha256": "cc7645d3b12ba26afb846369b86022a008b2ca4c24f19141890e25d0e2a8756d" }, "downloads": -1, "filename": "ponddy_auth-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ae76087690746bc04c99ec995e9e914e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3267, "upload_time": "2019-07-08T01:16:16", "url": "https://files.pythonhosted.org/packages/7d/bb/20402678d52ce5ffc338bb24799b98dceb017c72c104a761e7436cee5bb7/ponddy_auth-0.0.2-py3-none-any.whl" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b4d4d17729708a59dd4adc74787243d4", "sha256": "58b129c99853e2a3136271e1febb1641a51936770a7c6902958446173abfa232" }, "downloads": -1, "filename": "ponddy_auth-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b4d4d17729708a59dd4adc74787243d4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3310, "upload_time": "2019-07-08T01:27:45", "url": "https://files.pythonhosted.org/packages/e5/39/fb667b9b86238e2f8f8b618c225c74155edb69827d0af3d80cd27b37463b/ponddy_auth-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "7c817889be88f7604f415f615c5f3d4d", "sha256": "89dbeeaa9f0d826e7c662daf6f5412fbc386da2b090775108f263caccf07e996" }, "downloads": -1, "filename": "ponddy_auth-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7c817889be88f7604f415f615c5f3d4d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4008, "upload_time": "2019-07-08T06:56:04", "url": "https://files.pythonhosted.org/packages/9f/e9/e44aaf3e09efb7ff8f4392085fbc4939698c129fa7e64b24f35dd81a0acd/ponddy_auth-0.0.4-py3-none-any.whl" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "31c8053cd4162e18336b8196b96b4a28", "sha256": "805d1c17d054b3bc2e4ae0c705ba060c717006779ff3893aa8ddf965d2dc9af2" }, "downloads": -1, "filename": "ponddy_auth-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "31c8053cd4162e18336b8196b96b4a28", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4009, "upload_time": "2019-07-09T02:13:54", "url": "https://files.pythonhosted.org/packages/58/1d/83675a39593b640981f757022186fcf3a0c3be807d730f3336cc17034730/ponddy_auth-0.0.5-py3-none-any.whl" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "ddfa9cb936f761405eda8a6e24124363", "sha256": "99875b146ce53ec6f02a6c6d640f1098b5b69724c513fd01081b7e821aa942c6" }, "downloads": -1, "filename": "ponddy_auth-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "ddfa9cb936f761405eda8a6e24124363", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4010, "upload_time": "2019-07-09T03:06:29", "url": "https://files.pythonhosted.org/packages/32/c1/9526d73f3d5af8f27f8bd05cf09b653a13542c306050bf51cf0ce6fc8046/ponddy_auth-0.0.7-py3-none-any.whl" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "3d1ff27c37aa997348a50d15f93717cb", "sha256": "7be1d6b3d60c1654bd21e1bd89fb72c9680730b713179cff47b84e17710d9b5b" }, "downloads": -1, "filename": "ponddy_auth-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "3d1ff27c37aa997348a50d15f93717cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4037, "upload_time": "2019-07-09T03:10:59", "url": "https://files.pythonhosted.org/packages/c7/2b/70866c79ac5105c580b6c595e0fd4f77de728cf0870dc005236f5dc07dc1/ponddy_auth-0.0.8-py3-none-any.whl" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "8bff0c253f89f41fcea36401213e98cb", "sha256": "9d1f34eed9225b50c7f4ae63af02fe6b6369459b3ede13d7fd486d2db70d70da" }, "downloads": -1, "filename": "ponddy_auth-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "8bff0c253f89f41fcea36401213e98cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4062, "upload_time": "2019-07-09T05:37:23", "url": "https://files.pythonhosted.org/packages/03/3e/9c9237d3fea375a6049decaac2819c44a1d89ba44dd2aebe21f0c8f8ecf1/ponddy_auth-0.0.9-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4eaebb45afd1116da0c7acd8d332b457", "sha256": "897ae974e00adc173c7c39559bdee4a9f4f81ebc2fcedfbbb309476dcf53e666" }, "downloads": -1, "filename": "ponddy_auth-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "4eaebb45afd1116da0c7acd8d332b457", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4231, "upload_time": "2019-08-30T03:03:37", "url": "https://files.pythonhosted.org/packages/4e/81/03832e154ba65a5a432baefb1a0dd86fd12f02cf2e87a2d1370ad897d953/ponddy_auth-0.0.11-py3-none-any.whl" } ] }