2017-01-11 7 views
1

Django 1.9で作成したWebプロジェクトで、RESTful APIをアプリケーションとして使用します。私はDjango Rest Frameworkを使いたくないので、私の理解から、これはすでに持っているDjango自体のラッパーとして機能します。djangoレストフレームワークを使用しないdjango-oauth-toolkitの設定

私はOAuth2認証にdjango-oauth-toolkitを使用していますが、問題はDjangoがPOSTリクエストでcsrfトークンを要求し、すべてのアプリケーションでSessionAuthenticationMiddlewareを無効にすることができないことです。 TokenViewクラスの拡張メソッドにリダイレクトしようとしましたが、Djangoは依然として要求内のcsrfトークンを要求します。ここで

は、私がこれまで持っているものです。

プロジェクト構造:

myproject: 
    |_app1 
    |_app2 
    |_api 
     |_views.py 
     |_urls.py 

API/urls.py:

from django.conf.urls import include, url 
from django.conf import settings 
from . import views 

urlpatterns = [ 
    url(r'^o/token/$', views.TokenView.as_view(), name="token"), 
    url(            
     r'^o/', 
     include(
      'oauth2_provider.urls', 
      namespace='oauth2_provider' 
     ) 
    ), # OAuth2 Provider 
] 

API/views.py:

class TokenView(InitialTokenView): 

    def __init__(self, **kwargs): 
     super(TokenView, self).__init__(**kwargs) 

    @method_decorator(csrf_exempt) 
    def dispatch(self, *args, **kwargs): 
     return super(TokenView, self).dispatch(*args, **kwargs) 

TokenViewクラスはfrになります。 om django-oauth-toolkitのオリジナルコードhttps://github.com/evonove/django-oauth-toolkit/blob/master/oauth2_provider/views/base.py

私には何が欠けていますか?

ありがとうございます。

答えて

関連する問題