2014-12-07 2 views
0

내 API에 대한 인증을 설정하려고합니다. 나는 API를 처음 사용하지만 더 많은 클라이언트 기반 웹 응용 프로그램을 만들고 싶습니다. 해결해야 할 첫 번째 문제는 클라이언트 측 인증입니다. 내가 http://127.0.0.1:8000/o/applications/ (내가 갈 필요가 그게 생각)으로 이동하지만 찾을 수 없습니다 나에게 http://127.0.0.1:8000/accounts/login/?next=/o/applications/ 페이지를 리디렉션django oauth 툴킷으로 django rest framewok

Heres는 내 코드 :

Settings.py :

REST_FRAMEWORK = { 
    'DEFAULT_AUTHENTICATION_CLASSES': (
     'oauth2_provider.ext.rest_framework.OAuth2Authentication', 
    ), 
    'DEFAULT_PERMISSION_CLASSES': (
     'rest_framework.permissions.IsAuthenticated', 
    ), 
    'DEFAULT_RENDERER_CLASSES': (
     'rest_framework.renderers.JSONRenderer', 
    ), 
    'DEFAULT_PARSER_CLASSES': (
     'rest_framework.parsers.JSONParser', 

urls.py :

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

         url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')), 

api.py

from django.contrib.auth.models import User 
from django.http import HttpResponse 

from rest_framework import generics 
from oauth2_provider.views.generic import ProtectedResourceView 

from serializers import UserSerializer 


class APIEndpoint(ProtectedResourceView): 
    def get(self, request, *args, **kwargs): 
     return HttpResponse('Protected with OAuth2!') 


class UserList(generics.ListCreateAPIView): 
    queryset = User.objects.all() 
    serializer_class = UserSerializer 


class UserDetail(generics.RetrieveUpdateDestroyAPIView): 
    queryset = User.objects.all() 
    serializer_class = UserSerializer 

답변