Question

Je fais une API interne avec TastyPie. J'ai

from tastypie.authentication import ApiKeyAuthentication
class MyResource(ModelResource):
  Meta:
    authentication = ApiKeyAuthentication()

Auth règles désactivées, mon API fonctionne très bien. Avec elle, je reçois peu importe ce que je tente une réponse 401 (Unauthorized).

Je suis sûr que c'est l'une de ces choses qui est vraiment évident une fois que vous avez le voir en action, mais en attendant, s'il vous plaît indiquer comment faire la demande (GET).

Était-ce utile?

La solution

Ajoutez le nom d'utilisateur et les paramètres de api_key à vos variables GET. Assurez-vous que vous avez la

curl http://localhost:8000/api/v1/books/?username=issackelly\&api_key=123456789adfljafal

Assurez-vous de suivre les autres instructions de teh docs lors de sa mise en place:

ApiKeyAuthentication

Comme une alternative à exiger des données sensibles comme un mot de passe, le ApiKeyAuthentication vous permet de recueillir tout nom d'utilisateur et une clé api générée machine. navires Tastypie avec un modèle spécial pour cette fin, vous aurez donc besoin d'assurer tastypie est en INSTALLED_APPS.

Tastypie comprend une fonction de signal que vous pouvez utiliser pour créer automatiquement des objets apikey. Accrocher vers le haut ressemble à:

from django.contrib.auth.models import User
from django.db import models
from tastypie.models import create_api_key

models.signals.post_save.connect(create_api_key, sender=User)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top