私がやろうとしているのはResource
、次のような単純なカスタムをセットアップすることです:
MailResource(Resource):
to = fields.CharField(attribute='To')
subject = fields.CharField(attribute='Subject')
message = fields.CharField(attribute='Message')
class Meta:
resource_name = 'mail'
allowed_methods = ['post']
authorization = Authorization()
def detail_uri_kwargs(self, bundle_or_obj):
kwargs = {}
if isinstance(bundle_or_obj, Bundle):
kwargs['pk'] = bundle_or_obj.obj.uuid
else:
kwargs['pk'] = bundle_or_obj.uuid
return kwargs
def obj_create(self, bundle, request=None, **kwargs):
print bundle.obj
print request
print kwargs
# Create the object
return bundle
しかし、curl を使用してテスト投稿リクエストを行うと、常に 401 UNAUTHORIZED エラーが発生します。なんでそうなの ?Isn't Authorization()
class は、is_authorized
メソッドに対して true を返すことを意図しています。ドキュメントには次のように書かれてAuthorization()
います:
no-op 認可オプションでは、権限チェックは実行されません。
では、なぜ失敗するのですか?
アップデート:
また、何があってもメソッドで常に返されるカスタム承認クラスも試しましたTrue
が、それでも 401 UNAUTHORIZED エラーが発生します。is_authorized
手がかりはありますか?