1
Jason168 2023-05-25 11:49:03 +08:00
感觉不安全,有没有可能是获取了登录的 token 或者 cookie 保存到服务器 你访问的时候再给你加上去
|
2
fu4k 2023-05-25 11:50:12 +08:00
了解下 oauth2
|
3
boris1993Jr 2023-05-25 11:51:25 +08:00 via iPhone
我们就这样的
目测 OAuth 2 flow 登陆服务器记录你目前的登录状态 应用比如 JIRA 啥的都支持 OAuth 2 ,配置好了就行 |
4
boris1993Jr 2023-05-25 11:52:01 +08:00 via iPhone 1
另外这个玩法的学名叫单点登录( SSO )
|
5
TyCoding 2023-05-25 11:57:45 +08:00
这不就是单点登录吗?令牌是存储在单独的认证服务器的,如果是不同的域名间访问,估计是跨域拿 cookie 或者 url 重定向携带 token 的方式呗
|
6
InDom 2023-05-25 11:58:43 +08:00
先定义三者:用户,登陆中心,A 网站。
用户:打开 A 网站 A 网站:这人谁啊,不认识,得登陆,跳转到登陆中心,并携带消息,我需要知道这个人的全部资料 登陆中心:这人谁啊,没登陆,你账号密码多少,让我看看你是谁 用户:输入账号密码,点登陆 登陆中心:哎呦喂,这不是张某嘛,我知道了,你请走好,跳转到 A 网站,携带信息:这货登陆了,但我不能告诉这样告诉你他是谁,你等下拿后门的经文来找我,经文:哦麻利麻利哄你个 c64*82+62 A 网站:哦,有名字啊,拿着经文“哦麻利麻利哄你个 c64*82+62”从后台找“登陆中心”询问,这谁啊,这是你给我的经文,你告诉我他是谁,我着急 登陆中心:这就是那谁,张某,男的,30 多岁,去年来的,这是他照片 A 网站:好的,尊敬的张某,欢迎回家。 |
7
AlpacaCode OP @TyCoding 好奇他们跨域是如何存放 cookie 的 比如我在 a.com 上做了单点登录, 同时也拿到了 b.com c.com 的 cookie 并且存到服务器里面,那在用户点击 b.com/index.html or c.om/index.html 的时候 需要从服务器里面拿这些 cookie 嘛, 比如 gitlab 这种不是自己开发的平台,是不是还要二次开发来实现拿 cookie 的这个功能
|
8
TyCoding 2023-05-25 13:42:15 +08:00
@AlpacaCode cookie 是存储在浏览器的
|
9
nothingistrue 2023-05-25 13:57:37 +08:00
单点登录,是一个很庞大的框架,一两句说不清楚。拿“单点登录”、“OAUTH2”当关键词自己去搜资料吧。好在这俩是很老的框架,你还能找到专业性很高的文章。
|
10
xianzhe 2023-05-25 20:12:45 +08:00 via Android
https://apereo.github.io/cas/6.5.x/installation/WAR-Overlay-Installation.html ,可以看下这个,搜搜 cas 单点登录怎么做的,然后自己实现个简化版的
|