Pregunta

Estoy haciendo una API interna con Tastypie. tengo

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

Con las reglas de autores discapacitadas, mi API funciona muy bien. Con él, obtengo una respuesta 401 (no autorizada) sin importar lo que intente.

Estoy seguro de que esta es una de esas cosas que es realmente obvias una vez que lo has visto en acción, pero mientras tanto, por favor, avise cómo hacer la solicitud (una obtención).

¿Fue útil?

Solución

Agregue los parámetros de nombre de usuario y api_key a sus variables GET. Asegúrese de tener el

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

Asegúrese de seguir las otras instrucciones de los documentos al configurarlo:

Apikeyautenticación

Como alternativa a requerir datos confidenciales como una contraseña, la apikeyAuthentication le permite recopilar solo nombre de usuario y una tecla API generada por la máquina. Tastypie se envía con un modelo especial solo para este propósito, por lo que deberá asegurarse de que Tastypie esté en Installed_Apps.

Tastypie incluye una función de señal que puede usar para crear automáticamente los objetos Apikey. Conacarlo parece:

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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top