{"id":13491108,"url":"https://github.com/florimondmanca/djangorestframework-api-key","last_synced_at":"2025-05-15T02:07:53.207Z","repository":{"id":39543669,"uuid":"142661285","full_name":"florimondmanca/djangorestframework-api-key","owner":"florimondmanca","description":"🔐 API key permissions for Django REST Framework","archived":false,"fork":false,"pushed_at":"2025-04-04T08:39:25.000Z","size":2667,"stargazers_count":697,"open_issues_count":15,"forks_count":103,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-04-14T00:58:17.941Z","etag":null,"topics":["api-key","django-rest-framework","permissions","python","security","web-api"],"latest_commit_sha":null,"homepage":"https://florimondmanca.github.io/djangorestframework-api-key/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/florimondmanca.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-07-28T08:39:07.000Z","updated_at":"2025-04-07T22:15:27.000Z","dependencies_parsed_at":"2023-02-11T16:45:28.392Z","dependency_job_id":"f260ea14-4fb7-4dce-ab45-f3730effaaf7","html_url":"https://github.com/florimondmanca/djangorestframework-api-key","commit_stats":{"total_commits":244,"total_committers":16,"mean_commits":15.25,"dds":"0.11065573770491799","last_synced_commit":"4984a143cd0db179c1335bb8562909de42d60b8f"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florimondmanca%2Fdjangorestframework-api-key","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florimondmanca%2Fdjangorestframework-api-key/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florimondmanca%2Fdjangorestframework-api-key/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/florimondmanca%2Fdjangorestframework-api-key/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/florimondmanca","download_url":"https://codeload.github.com/florimondmanca/djangorestframework-api-key/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254259383,"owners_count":22040820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-key","django-rest-framework","permissions","python","security","web-api"],"created_at":"2024-07-31T19:00:53.622Z","updated_at":"2025-05-15T02:07:48.196Z","avatar_url":"https://github.com/florimondmanca.png","language":"Python","funding_links":[],"categories":["Libs","Packages","Python"],"sub_categories":["Permissions management","Authorization"],"readme":"# Django REST Framework API Key\n\nAPI key permissions for the [Django REST Framework](https://www.django-rest-framework.org).\n\n\u003cdiv\u003e\n  \u003ca href=\"https://dev.azure.com/florimondmanca/public/_build/latest?definitionId=7\u0026branchName=master\"\u003e\n      \u003cimg src=\"https://dev.azure.com/florimondmanca/public/_apis/build/status/florimondmanca.djangorestframework-api-key?branchName=master\" alt=\"build status\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/florimondmanca/djangorestframework-api-key\"\u003e\n      \u003cimg src=\"https://codecov.io/gh/florimondmanca/djangorestframework-api-key/branch/master/graph/badge.svg\" alt=\"coverage\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/djangorestframework-api-key\"\u003e\n      \u003cimg src=\"https://badge.fury.io/py/djangorestframework-api-key.svg\" alt=\"package version\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/pyversions/djangorestframework-api-key.svg\" alt=\"python versions\"/\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/djversions/djangorestframework-api-key.svg?colorB=44b78b\" alt=\"django versions\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/drf-3.8+-7f2d2d.svg\" alt=\"drf versions\"/\u003e\n\u003c/div\u003e\n\n## Introduction\n\n**Django REST Framework API Key is a library for allowing server-side clients to safely use your API.** These clients are typically third-party backends and services (i.e. _machines_) which do not have a user account but still need to interact with your API in a secure way.\n\n### Features\n\n- ✌️ **Simple to use**: create, view and revoke API keys via the admin site, or use built-in helpers to create API keys programmatically.\n- 🔒 **As secure as possible**: API keys are treated with the same level of care as user passwords. They are only visible at creation and hashed before storing in the database.\n- 🎨 **Customizable**: satisfy specific business requirements by building your own customized API key models, permission classes and admin panels.\n\n### Should I use API keys?\n\nThere are important security aspects you need to consider before switching to an API key access control scheme. We've listed some of these in [Security caveats](docs/security.md#caveats), including serving your API over HTTPS.\n\nBesides, see [Why and when to use API keys](https://cloud.google.com/endpoints/docs/openapi/when-why-api-key#top_of_page) for hints on whether API keys can fit your use case.\n\nAPI keys are ideal in the following situations:\n\n- Blocking anonymous traffic.\n- Implementing API key-based [throttling](https://www.django-rest-framework.org/api-guide/throttling/). (Note that Django REST Framework already has may built-in utilities for this use case.)\n- Identifying usage patterns by logging request information along with the API key.\n\nThey can also present enough security for authorizing internal services, such as your API server and an internal frontend application.\n\n\u003e Please note that this package is NOT meant for authentication. You should NOT use this package to identify individual users, either directly or indirectly.\n\u003e\n\u003e If you need server-to-server authentication, you may want to consider OAuth instead. Libraries such as [django-oauth-toolkit](https://django-oauth-toolkit.readthedocs.io/en/latest/index.html) can help.\n\n## Quickstart\n\nInstall with `pip`:\n\n```bash\npip install \"djangorestframework-api-key==3.*\"\n```\n\n_**Note**: It is highly recommended to **pin your dependency** to the latest major version (as depicted above), as breaking changes may and will happen between major releases._\n\nAdd the app to your `INSTALLED_APPS`:\n\n```python\n# settings.py\n\nINSTALLED_APPS = [\n  # ...\n  \"rest_framework\",\n  \"rest_framework_api_key\",\n]\n```\n\nRun the included migrations:\n\n```bash\npython manage.py migrate\n```\n\nTo learn how to configure permissions and manage API keys, head to the [Documentation](https://florimondmanca.github.io/djangorestframework-api-key).\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/florimondmanca/djangorestframework-api-key/tree/master/CHANGELOG.md).\n\n## Contributing\n\nSee [CONTRIBUTING.md](https://github.com/florimondmanca/djangorestframework-api-key/tree/master/CONTRIBUTING.md).\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorimondmanca%2Fdjangorestframework-api-key","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflorimondmanca%2Fdjangorestframework-api-key","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflorimondmanca%2Fdjangorestframework-api-key/lists"}