在Django Rest Framework中持续登录

纽特

我正在使用Django Rest Framework,并且已使用rest_auth的端点设置了登录端点。但是,登录后,如果刷新页面,则登录无效。

我已经通过设置`/ loginCheck'端点对它进行了测试,我在登录后检查如下:

@api_view(['GET',])
@permission_classes([AllowAny,])
def get_user(request):
    user = request.user
    print(user)

登录后,如果我留在页面上并执行/loginCheck',打印命令,则会显示活动用户的用户名。但是,在刷新页面时,如果执行相同的功能,则会打印AnonymousUser我使用了以下身份验证类

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

我正在使用,TokenAuthentication因为我在SPA中也有一个成功持久的Facebook登录端点。关于永久性的非Facebook登录,我缺少什么?

编辑:

我的设置中间件

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
詹戈诺

如果您使用令牌登录,则该令牌仅在该单个请求-响应周期内有效。从设计上讲,它并不像常规的Django浏览器会话那样具有持久性。因此,对于任何后续请求,您需要自己附加令牌的值。从cookie检索或根据您的客户端应用程序通过其他方式存储它。

下面是一些示例代码:

var request = new XMLHttpRequest()
request.setRequestHeader("Authorization", "Token " + token);
request.open("GET", "foo/bar", true);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

注册后Django Rest Framework无法登录

来自分类Dev

django rest角度登录

来自分类Dev

Django Rest Framework and JSONField

来自分类Dev

Django Rest Framework API

来自分类Dev

Django Rest Framework的ModuleNotFoundError

来自分类Dev

如何根据已登录的用户撤销Django Rest Framework序列化器中的特定属性?

来自分类常见问题

如何使用Django Rest Framework创建登录API?

来自分类Dev

如何使用django-rest-framework创建登录视图

来自分类Dev

使用Django Rest Framework注册后如何自动登录?

来自分类Dev

Django REST Framework UserSerializer中的keyerror

来自分类Dev

清理Django Rest Framework中的输入

来自分类Dev

Django Rest Framework中CreateAPIView的权限

来自分类Dev

Django REST Framework中的嵌套资源

来自分类Dev

在Django-rest-framework中捕获参数

来自分类Dev

Django Rest Framework中的“ AttributeError”和PrimaryKeyRelatedField

来自分类Dev

Django Rest Framework-测试中的AssertionError

来自分类Dev

在Django Rest Framework中测试PUT请求

来自分类Dev

Django Rest Framework中的全文本搜索

来自分类Dev

在Django Rest Framework中筛选多个值

来自分类Dev

Django Rest Framework中的关系条件检查

来自分类Dev

在Django rest Framework中传递几个参数

来自分类Dev

在 Django REST Framework 中更新/放置请求

来自分类Dev

Django Rest Framework 中的成功信息

来自分类Dev

在 Django Rest Framework 中更新嵌套的 PrimaryKeyRelatedField

来自分类Dev

Django Rest Framework URL模式

来自分类Dev

Django Rest Framework API权限

来自分类Dev

Django Rest Framework权限冲突

来自分类常见问题

Django Rest Framework部分更新

来自分类Dev

Django Rest Framework:最佳做法?