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

sso登录(单点登录)实现

部分项目需要单点登录(不需要用户输入账户密码可以直接登录)

分析

1.判断进来的地址携带的参数,约定好如果username,token(不同项目可以自己约定自己需要的)则判断为需要进行单点登录
2.调单点登录的api,最好跟账户密码登录是不同的api

代码

import { getQueryMap } from "@pureadmin/utils";
const getSSoKey = () => {//增加逻辑 先从缓存中获取Token 不存在则调用登录去获取 存在直接进入系统const params = getQueryMap(location.href) as SSODataInfo<Date> | any;let token = localStorage.getItem("AccessToken");let SSOToken = localStorage.getItem("SSOToken");if (token == null || (params.Token && SSOToken != params.Token)) {let ssoParams = {Token: params.Token,UserName: params.UserName,};ssoLogin(ssoParams).then((res) => {if (res.data.code == 200) {localStorage.setItem("SSOToken", params.Token);localStorage.setItem("UserName", res.data.data.username);localStorage.setItem("RefreshToken", res.data.data.refresh_token);localStorage.setItem("AccessToken", res.data.data.access_token);localStorage.setItem("Expires", res.data.data.expires);ElMessage({message: "Login succeeded",type: "success",});window.location.replace("/");}});} else {ElMessage({message: "Login succeeded",type: "success",});window.location.replace("/");}
};

相关文章:

  • MySQL强化关键_016_存储引擎
  • JavaScript面试题之匿名函数
  • 数据结构第1章 (竟成)
  • debian12下安装搜狗输入法
  • 伊吖学C笔记(3、字符、分支结构)
  • Unreal渲染源码简读(一)RHI/Shader
  • Minecraft Fabric - java.lang.NoClassDefFoundError HttpUriRequest
  • Spring Boot是什么?MybatisPlus常用注解,LambdaQueryWrapper常用方法
  • OpenHarmony 4.1版本应用升级到5.0版本问题记录及解决方案
  • vue开发中常用方法笔记
  • 在公司快速查看与固定内网IP地址的完整指南
  • 全链路解析:影刀RPA+Coze API自动化工作流实战指南
  • 2025电工杯A题数据-光伏电站发电功率预测数据 收集策略
  • Docker 与 Kubernetes 部署 RabbitMQ 集群(二)
  • docker初学
  • w~大模型~合集4
  • 【Linux系列】EVS 与 VBD 的对比
  • nvidia Thor U与qualcomm 8295 DMPIS算力测试对比
  • 用matlab提取abaqus odb文件中的节点信息
  • 谢飞机的Spring WebFlux面试之旅:从基础到深入
  • 东莞南城做网站/网络营销的实现方式包括
  • 高端网站建设优化/百度我的订单
  • 一站式服务平台登录/宁波seo排名外包公司
  • 网站制作属于什么行业/品牌广告语
  • 网站开发外包价格/百度查询关键词排名工具
  • 网站建设方案评标原则/优质外链