/ / Hinzufügen von Token-Authentifizierung zu REST-API, die mit Django REST-Framework erstellt wurde - django, rest, api-key

So fügen Sie die Token-Authentifizierung der REST-API hinzu, die mit dem Django-REST-Framework erstellt wurde - django, rest, api-key

Ich verstehe nicht wirklich, wie das funktioniert, aber ichIch möchte meinen REST-API-Clients eine Token-Authentifizierung oder eine Art API-Schlüsselauthentifizierung hinzufügen. Wie gehe ich darüber, wie ich möchte, dass die API-Clients API-Schlüssel bei der Verbindung mit der API haben, sollte dies auf Benutzerbasis sein, wo jeder menschliche Benutzer der API einen API-Schlüssel hat,

Antworten:

1 für die Antwort № 1

http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication sagt, wie man das macht und wie @kannor darauf hingewiesen hat, siehe Wie TokenAuthentication für API in Django-Rest-Framework zu verwenden

Hinzufügen zu installierten Apps in settings.py

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

Bearbeiten Sie Ihre models.py und fügen Sie das folgende unten hinzu, um einen "Haken" / "Ereignis" für das on Save Ihrer Benutzer hinzuzufügen

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)

und füge folgendes zu deiner hinzu urls.py

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