如何使用Django Rest Framework创建登录API? [英] How do I create a login API using Django Rest Framework?

查看:578
本文介绍了如何使用Django Rest Framework创建登录API?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用django rest框架创建一个登录api(或者使用现有的一个,如果它已经是预捆绑的)。但是,我完全失去了。每当我发送发送请求到django休息框架登录url,它只是发回可浏览的api模板页面...

I want to create a login api (or use an existing one if it is already pre-bundled) using django rest framework. However, I'm completely at a loss. Whenever I send a post request to the django rest framework "login" url, it just sends back the browsable api template page...

我的配置

MY CONFIGURATION

urls.py

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

设置.py

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
    )
}

我想要的

请求:

POST /api/v1/login  username='name' pass='pass'

回应:

200 OK "{username: 'name', 'userId': '54321'}" set-cookie: sessionid="blahblah"


解决方案

查看 django的api视图-rest框架,智威汤逊。这是一个创建验证令牌而不是Cookie会话的实现,但您的实现将类似。请参阅 views.py serializers.py 。您可以使用 serializers.py 不变,只需调整您的视图即可返回正确的参数,并可能设置会话cookie(如果已在认证中执行,则无法调用) )。

Take a look at the api view from django-rest-framework-jwt. It's an implementation for creating auth tokens rather than cookie sessions, but your implementation will be similar. See views.py and serializers.py. You can probably use the serializers.py unchanged, and just adjust your views to return the right parameters and possibly set the session cookie (can't recall if that's already performed in authentication).

这篇关于如何使用Django Rest Framework创建登录API?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆