我对如何使用任何API处理授权感到困惑,但是对于这个例子我正在使用Django REST Framework。
在我的非API Django视图中,如果您以该用户身份登录,我有一个提供用户信息访问权限的功能:
def UserInfo(request):
if request.user.is_authenticated():
private_info = Entry.objects.filter(user=request.user)
context = {'private_info': private_info}
return render(request, 'userinfo.html', context)
现在这里有一个Django REST API用于同样的事情,但我仍然不了解如何处理身份验证。
api_view(['GET'])
@csrf_exempt
def UserInfoAPI(request):
if request.user.is_authenticated():
private_info = Entry.objects.filter(user=request.user)
serializer = EntrySerializer(private_info, many=True)
return Response(serializer.data)
我猜这个API不起作用,因为request.user.is_authenticated基本上会检查会话中的用户ID?如果这是正确的,我怎么能从iOS应用程序或直接从终端访问这个private_info?是否可以只在HTTP标头中发送用户名/密码,并通过API以这种方式验证安全数据?