python framework is detected_Django Rest Framework{“detail”:“未提供身份验证凭据。”}...

博主在尝试使用OAuth工具包为RestAPI添加身份验证时遇到了问题。尽管输入了用户名和密码并被重定向到API,但仍然收到'未提供身份验证凭据'的错误消息。已检查代码设置,但似乎没有遗漏关键配置。代码中展示了settings.py、urls.py和api.py的部分内容,包括登录URL、认证类、权限类和视图设置。
摘要由CSDN通过智能技术生成

我尝试使用OAuth工具包向Rest API添加身份验证。我进入登录页面,输入用户名和密码,然后重定向到我的api。然后我收到一条消息{“detail”:“未提供身份验证凭据。”}我已经尝试过对此进行调查,大多数遇到此问题的人似乎都错过了其他框架设置中的一些内容。我想我没有。

这是我的代码:

设置.pyLOGIN_REDIRECT_URL = '/api/users/'

REST_FRAMEWORK = {

'DEFAULT_AUTHENTICATION_CLASSES': (

'rest_framework.authentication.TokenAuthentication',

'oauth2_provider.ext.rest_framework.OAuth2Authentication',

),

'DEFAULT_PERMISSION_CLASSES': (

'rest_framework.permissions.IsAdminUser',

),

'DEFAULT_RENDERER_CLASSES': (

'rest_framework.renderers.JSONRenderer',

),

'DEFAULT_PARSER_CLASSES': (

'rest_framework.parsers.JSONParser',

),

}

网址.pyurlpatterns = patterns('', url(r'^admin/', include(admin.site.urls)),

url(r'^accounts/login/$', auth_views.login, {'template_name': 'login.html'}),

url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),

url(r'^api-token-auth/', 'rest_framework.authtoken.views.obtain_auth_token'),

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

url(r'^api/users/$', api.UserList.as_view()),

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

)

api.py标准@receiver(post_save, sender=User)

def init_new_user(sender, instance, signal, created, **kwargs):

if created:

Token.objects.create(user=instance)

class APIEndpoint(ProtectedResourceView):

def get(self, request, *args, **kwargs):

return HttpResponse('Protected with OAuth2!')

class UserViewSet(viewsets.ModelViewSet):

model = User

serializer_class = UserSerializer

def retrieve(self, request, pk=None):

if pk == 'me':

return Response(UserSerializer(request.user).data)

return super(UserViewSet, self).retrieve(request, pk)

class UserList(generics.ListCreateAPIView):

queryset = User.objects.all()

serializer_class = UserSerializer

class UserDetail(generics.RetrieveUpdateDestroyAPIView):

queryset = User.objects.all()

serializer_class = UserSerializer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值