Django Tastypie: come per l'autenticazione con API Key
Domanda
Sto facendo un'API interna con TastyPie. Ho
from tastypie.authentication import ApiKeyAuthentication
class MyResource(ModelResource):
Meta:
authentication = ApiKeyAuthentication()
Con Auth regole disattivati, il mio API grandi opere. Con esso su, ottengo una risposta 401 (non autorizzati) non importa quello che provo.
Sono sicuro che questa è una di quelle cose che è davvero evidente una volta che hai vederlo in azione, ma nel frattempo, si prega di avvisare come per fare la richiesta (un GET).
Soluzione
Aggiungere il nome utente e parametri api_key per le variabili GET. Assicurarsi di avere il
curl http://localhost:8000/api/v1/books/?username=issackelly\&api_key=123456789adfljafal
Assicurati di seguire le altre istruzioni da teh documenti quando la sua creazione:
ApiKeyAuthentication
In alternativa a richiedere i dati sensibili come password, l'ApiKeyAuthentication consente di raccogliere solo nome utente e una chiave API generata dal computer. navi Tastypie con un modello speciale solo per questo scopo, quindi è necessario per garantire tastypie è in INSTALLED_APPS.
Tastypie include una funzione di segnalazione è possibile utilizzare per auto-creare oggetti apikey. Agganciandolo up assomiglia a:
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)