如何通过从API获取数据来记录用户?

问题描述 投票:0回答:1

我正在编写一个API视图,其中访问POST到POST电子邮件和密码到地址和获取响应。所以我想如果响应是200或休息消息是'成功'然后登录可用的电子邮件和密码数据,但我是不能这样做。如何实现这样的?

class ApiLoginView(TemplateView):
    template_name = 'index.html'


    def post(self,request):
        email = request.POST.get('login-email')
        print(email)

        password = request.POST.get('login-password')
        print(password)
        API_KEY = '*********************'
        API_URL = 'http://devstudio.com/rest/storeLogin'
        parameter = {
            'authToken':API_KEY,
            'email':email,
            'password':password,
        }
        r = session.post(url = API_URL, params=parameter)
        return HttpResponse(r)
django
1个回答
0
投票

如果你正在使用djagno的内置身份验证和用户系统,那么你可以使用这样的东西

from django.contrib.auth import authenticate, login
class ApiLoginView(TemplateView):
template_name = 'index.html'


def post(self,request):
    email = request.POST.get('login-email')
    print(email)

    password = request.POST.get('login-password')
    print(password)
    API_KEY = '*********************'
    API_URL = 'http://devstudio.com/rest/storeLogin'
    parameter = {
        'authToken':API_KEY,
        'email':email,
        'password':password,
    }
    r = session.post(url = API_URL, params=parameter)
    if r.status_code==200:
       user = authenticate(request, username=username, password=password)
       if user is not None:
          login(request, user)
          # Redirect to a success page.

       else:
         # Return an 'invalid login' error message.


    return HttpResponse(r)

供参考检查这个https://docs.djangoproject.com/en/2.1/topics/auth/default/#topic-authorization希望这有帮助..

© www.soinside.com 2019 - 2024. All rights reserved.