Django Thastypie:APIキーで認証する方法
質問
Thastypieで内部APIを作成しています。私は持っている
from tastypie.authentication import ApiKeyAuthentication
class MyResource(ModelResource):
Meta:
authentication = ApiKeyAuthentication()
AUTHルールが無効になっていると、私のAPIはうまく機能します。それで、私は何をしようとも、401(不正な)応答を取得します。
これは、動作していたら本当に明白なことの1つであると確信していますが、その間に、リクエストを作成する方法(GET)をアドバイスしてください。
解決
GET変数にユーザー名とAPI_KEYパラメーターを追加します。あなたが持っていることを確認してください
curl http://localhost:8000/api/v1/books/?username=issackelly\&api_key=123456789adfljafal
セットアップ時には、TEHドキュメントの他の指示に従ってください。
apikeyauthentication
パスワードのような機密データを必要とする代わりに、ApikeyAuthenticationを使用すると、ユーザー名とマシンで生成されたAPIキーのみを収集できます。 Tastypieは、この目的のためだけに特別なモデルを備えたものであるため、StastyPieがインストールされていることを確認する必要があります。
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)
所属していません StackOverflow