/ / Як додати автентифікацію токенів до REST API, створених за допомогою Django REST framework - django, rest, api-key

Як додати автентифікацію токенів до REST API, створених за допомогою системи Django REST - django, rest, api-key

Я дійсно не розумію, як це працює, але яхочете додати автентифікацію токенів або аутентифікацію певної ключа API до моїх клієнтів REST API. як я можу йти про це, як я хочу, щоб клієнти API мали API-ключ під час підключення до API, якщо це має бути на основі користувача, де кожен користувач API має ключ API,

Відповіді:

1 для відповіді № 1

http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication каже, як це зробити, і, як сказав @ kanorn, див Як використовувати TokenAuthentication для API в django-rest-framework

додати встановлені додатки в settings.py

INSTALLED_APPS = (
...
"rest_framework.authtoken"
)

Редагувати свій models.py і додати наступне нижче, щоб додати "гачок" / "подія" для збереження ваших користувачів

from django.conf import settings
from django.db.models.signals import post_save
from django.dispatch import receiver
from rest_framework.authtoken.models import Token

@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
if created:
Token.objects.create(user=instance)

і додати наступне до вашого urls.py

from rest_framework.authtoken import views
urlpatterns += [
url(r"^api-token-auth/", views.obtain_auth_token)
]