2016-12-30 100 views
2

我已經創建了Django的REST框架項目和安裝的Django身份驗證提供者,創造了一個應用程序,生成的客戶端ID和客戶端密鑰,當我測試的應用程序在Django項目中創建的應用程序使用捲曲請求得到的Oauth 2無效客戶端錯誤,同時檢查

捲曲-X POST -d 「grant_type =密碼&用戶名= &密碼=」 -u 「:」 http://localhost:8000/o/token/

我測試通過給我的用戶名,密碼,CLIENT_ID和client_request表示像

錯誤

{ 「錯誤」: 「invalid_client」}

settings.py

OAUTH2_PROVIDER = { 
    # this is the list of available scopes 
    'SCOPES': {'read': 'Read scope', 
       'write': 'Write scope', 
       'groups': 'Access to your groups'} 
} 

REST_FRAMEWORK = { 
    'DEFAULT_PERMISSION_CLASSES': (
     'rest_framework.permissions.IsAuthenticated', 
    ), 
    'DEFAULT_AUTHENTICATION_CLASSES': (
     'rest_framework.authentication.BasicAuthentication', 
     'rest_framework.authentication.SessionAuthentication', 
     'rest_framework_jwt.authentication.JSONWebTokenAuthentication', 
     'oauth2_provider.ext.rest_framework.OAuth2Authentication', 
    ) 
} 

回答

0

您使用「o'i n您的網址讓你urs.py必須包含

url(r'^o/(?P<token>[\w-]+)/$', YourView.as_view()), 

貌似不知道您的網址的urls.py

對於離有充足

url(r'^users/(?P<pk>[0-9]+)/$', views.UserDetail.as_view()),) 

將使

curl http://127.0.0.1:8000/users/1/ 

呈現正常。

+0

url.py:url(r'^ o /',include('oauth2_provider.urls',namespace ='oauth2_provider')), – Ravi

+0

您的網址不包含考慮令牌的正則表達式部分,或者它必須是'r 「^ O/$' – dmitryro

+0

它必須是'^ O /(P [\ W - ] +)$'或,如果有更多的參數後令牌'2 O /(P [\ W - ] +)/$' – dmitryro

相關問題