14

TastyPieで内部APIを作っています。私は持っている

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

認証ルールを無効にすると、API がうまく機能します。オンにすると、何をしようとしても 401 (UNAUTHORIZED) 応答が返されます。

これは実際に動作を見れば明らかなことの 1 つだと思いますが、それまでの間、リクエスト (GET) を行う方法をアドバイスしてください。

4

1 に答える 1

19

username パラメータと api_key パラメータを GET 変数に追加します。あなたが持っていることを確認してください

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

設定するときは、ドキュメントの他の指示に従ってください。

ApiKey認証

パスワードなどの機密データを要求する代わりに、ApiKeyAuthentication を使用すると、ユーザー名と機械生成の API キーだけを収集できます。Tastypie には、この目的のためだけに特別なモデルが付属しているため、tastypie が INSTALLED_APPS にあることを確認する必要があります。

Tastypie には、ApiKey オブジェクトを自動作成するために使用できるシグナル関数が含まれています。接続すると次のようになります。

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)
于 2011-10-18T22:05:33.707 に答える