当前位置: 首页 > article >正文

用户登录/登出功能,当登录页面在另一域名下

需求:

要求为某网址增加用户登录功能。登录页面是现成的,但是位于另一个域名。当request 没带token ,要求跳转此登录页面,用户登录后会返回token. 此时再跳回原网址。这个过程如何避免发生跨域问题?

最简单的方案

登录:

  1. 若用户在未登录状态,则应访问$(登录页)?returnUrl=$(frontPage)跳转登录页面。在用户手动成功登录后,页面会自动跳回returnUrl, 并在URL中携带参数token。前端应马上读取token,并在地址栏删除token。
    1.1. 这里可能有种特殊情况,就是用户在原网址是未登录状态,但是在用户中心是登录状态。这也是没做单点登录系统(sso) 造成的。这时跳回returnUrl,并带上token。
  2. 用户在登录状态,调用指定api时, request应携带Authorization字段, 该字段即在第1步中获取的token。

用户登出时,前端应删除cookie等信息,并调用logout api

改进一

用户手动登录成功,页面跳回returnUrl时,不是通过URL传递token,而是使用POST请求发送一个隐藏表单将token发送回returnUrl

改进二

使用postMessage传回token

Oauth或者SSO

应该是更完备严谨的方法


http://www.kler.cn/a/504484.html

相关文章:

  • 论文阅读:Searching for Fast Demosaicking Algorithms
  • kotlin的dagger hilt依赖注入
  • MySQL主从:如何处理“Got Fatal Error 1236”或 MY-013114 错误(percona译文)
  • 使用docker-compose安装Redis的主从+哨兵模式
  • 提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息
  • 【Linux】操作系统与进程概念
  • 探索图像编辑的无限可能——Adobe Photoshop全解析
  • 【C语言面试题精选及详细解答】
  • node.js的进程保活
  • 设计模式之结构型模式
  • 2025封禁指定国家ip-安装xtables-addons记录
  • Chromium 132 编译指南 Windows 篇 - Git 初始化设置 (四)
  • Mono里运行C#脚本27—X86_64指令寄存器初步了解mono_arch_regname
  • PL/SQL语言的网络编程
  • 【面试题】技术场景 5、日志采集ELK
  • ZCC1923替代BOS1921Piezo Haptic Driver with Digital Front End
  • C#补充----反射,特性,迭代器,特殊语法,值类型运用类型。
  • LeetCode100之单词搜索(79)--Java
  • UML系列之Rational Rose笔记四:时序图(顺序图_序列图)
  • docker mysql5.7如何设置不区分大小写
  • Docker 拉取镜像速度慢,容易失败?
  • threejs中的相机与物体
  • 【开源免费】基于SpringBoot+Vue.JS公司日常考勤系统(JAVA毕业设计)
  • 【Git版本控制器--2】Git的分支管理
  • Java中对list数据进行手动分页(可直接复用版)
  • Cyberchef开发operation操作之-增加LEEF解析操作