OJ系统 登录问题

问题描述

我在完成OJ系统前后端开发后,某一天突然发现登录出问题了,登录成功了但是进到主页后还是未登录

解决过程

  1. 首先检查一下账号的用户名是不是为空,因为注册的时候没写用户名会导致已经登录成功了但是前端显示未登录(这里可以修改前端显示名称的逻辑),我的账号是有用户名的,继续排查
  2. 检查前端调用接口是否配置了携带cookie,即OPENAPI.ts中配置WITH_CREDENTIALS: true,我的配置也是没问题的,继续
  3. 检查session是否异常,在redis中检查session是否正确写入,如果没问题,再检查前端是否正确设置cookie。我们查看调用登录的接口,发现在set-cookie的时候有异常 image.png

点击黄色图标显示异常信息: This Set-cookie didn't specify a "SameSite" attribute and was defaulted to "SameSite=Lax" and was blocked because it came from across-site response which was not the response to a top-level navigation.The set-cookie had to have been set with "SameSite=None" to enable cross site usage.

这里cookie相关的属性介绍可参考文章: https://blog.csdn.net/weixin_42995876/article/details/136511457

百度这个问题后,发现只需要在后端配置文件中加上以下这段配置就可以了

image.png
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP