python – Django Rest Framework {“detail”:“未提供身份验证凭据.”}
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Django Rest Framework {“detail”:“未提供身份验证凭据.”},小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2126字,纯文字阅读大概需要4分钟。
内容图文
![python – Django Rest Framework {“detail”:“未提供身份验证凭据.”}](/upload/InfoBanner/zyjiaocheng/701/742b932f0fbb4b8a8edb9419896e1b60.jpg)
我尝试使用OAuth Toolkit为我的Rest API添加身份验证.我进入登录页面并输入我的用户名和密码,然后重定向到我的api.然后我收到一条消息{“详细信息”:“未提供身份验证凭据.”}我试过调查此问题,大多数有问题的人似乎错过了Rest_Framework设置中的内容.我不认为我有.
继承我的代码:
Settings.py
LOGIN_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',
),
}
url.py
urlpatterns = 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<pk>[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
解决方法:
在我的情况下,令牌认证在开发服务器上运行良好,而不是在Apache上运行.原因正是缺少WSGIPassAuthorization On
内容总结
以上是互联网集市为您收集整理的python – Django Rest Framework {“detail”:“未提供身份验证凭据.”}全部内容,希望文章能够帮你解决python – Django Rest Framework {“detail”:“未提供身份验证凭据.”}所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。