首页 » 谷歌 » 提高安全性的办法认证来源负载均衡多服务器的问题

提高安全性的办法认证来源负载均衡多服务器的问题

 

谷歌锁区号/谷歌邮箱老号-购买商城
谷歌play地区代改
Google Voice号码支持自助购买
谷歌锁区号购买商城]
美区VISA卡代开-可以用于aws,azure,FB,谷歌,亚马逊,速卖通,eBay,独立站,paypal等支付
如果您还有其他问题可以加我QQ交流。
QQ号:2802364971

缺点:关于安全问题

属性:

file

如何提高安全性

令牌认证来源

在多台服务器负载均衡的情况下,很难确认当前用户是否登录,因为多台服务器不共享。这个问题在一台服务器上也可以解决,但不能完全达到负载均衡的效果。

身份验证方法中的token和-id是不同的,不仅仅是一个标识符。 Token一般包含用户的相关信息。通过验证Token,不仅可以完成身份验证,还可以获取预设信息。

客户端可以将令牌存储在容器中,例如 .客户端每次访问都会传递token,服务端解密token。服务器不需要存储和占用存储空间,解决了多台服务器的负载均衡问题。

过程

file

练习

最常用的是JSON Web Token (JWT),也是最流行的跨域认证方案。

JWT 组成:..

标头和有效负载编码为

谷歌验证器找回密钥_找回win10密钥_win10安装程序无法验证产品密钥

签名计算:

	HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload) , secret)

使用方法:

	Authorization: Bearer 

但是JWT的一个很大的缺点是服务器不保存会话状态,所以在使用过程中不能撤销token或者改变token的权限。也就是说,一旦 JWT 被签发,它将在有效期内保持有效。

⚠️的内容任何人都可以读取,不要放敏感信息

关于jwt存储位置的争论:我觉得如果存储信息很多,如果csrf自然被阻止了,可以放在or中。

JWT除了可以提高token的安全性之外,token还可以。

业务接口用于认证的token,我们称之为token。业务越是权限敏感,我们越希望token有效期足够短,避免被盗。但是,如果有效期太短,令牌往往会过期。过期了怎么办?

一种方式是让用户重新登录获取新的token,显然不够友好。重要的是要知道某些令牌可能只会在几分钟后过期。

另一种方式是拥有另一个token,专门为token生成的token,我们称之为token。

token的过期时间一般比较长,比如6小时,token的过期时间比较短,比如10分钟。在我们的实际业务中谷歌验证器找回密钥,我们只在调用api时传递token进行认证。如果令牌过期谷歌验证器找回密钥,使用令牌授权服务器更新令牌。最后,令牌过期,用户必须重新登录。

优点和缺点优点:缺点:单点登录源

但是当我们的业务线越来越多时,就会有越来越多的业务系统分散在不同的域名下,这就需要“一次登录,通用访问”的能力,也就是所谓的“单点登录”。

过程

file

对于浏览器来说,SSO域下返回的数据应该如何存储,以便在访问A时可以带上?这需要并且只能由 A 提供,以提供在 A 域下存储凭据的能力。

file

练习

OIDC

OIDC登录点击,跳转到登录网站

如果验证成功,请输入用户名和密码。会重定向到登录回调(之前设置的地址)

回调地址中有code参数。验证码无误后发出sk,成功登录boss系统

前端通过添加轮询链接实现单点登出

关于 OIDC

OIDC 是上层简单身份层协议。它允许客户端对用户进行身份验证并获取基本的用户配置信息。 OIDC 使用 JSON Web Token (JWT) 作为信息返回,通过合规流程获取。

关于

最终目标是为第三方应用发行时间敏感的token。这使得第三方应用程序可以通过令牌获取相关资源。当你想登录一个论坛,但没有账号,而这个论坛可以访问QQ,等登录功能时,使用.0协议登录。

file

关于 LDAP

LDAP(Light),中文名称轻量级目录访问协议,是一种开放且广泛使用的行业标准。比如我们的 Jira, , Yapi。

但是LDAP不能实现单点登录SSO,但是可以使用相同的用户名和密码登录不同的系统,但是一次登录后不能访问多个系统。

身份验证方法2FA(双因素身份验证)

线上老板必须开启二次认证,会生成二维码。二维码是一个。通过 。 (默认算法),每次都会计算一个6位(默认长度)的随机数。公式为:

谷歌验证器找回密钥_找回win10密钥_win10安装程序无法验证产品密钥

file

⚠️因为默认30s内有效,所以用户的手机时间应该更准确

验证码二维码

青云云计算管理平台:?=xxx& = 青云云计算管理平台

xxx:16位大写字母数字

使用的解码密钥

键必须大写,不能有空格

获取 Unix 时间戳

	let epoch = Math.round(new Date().getTime() / 1000.0);if (localStorage.offset) {
		epoch = epoch + Number(localStorage.offset);
	}
	counter = Math.floor(epoch / period); // period 一般为30 这个失效实现的想法太棒了

计算签名

	const time = this.leftpad(this.dec2hex(counter), 16, "0");const key = this.base32tohex(secret)
	CryptoJS.HmacSHA1(
			CryptoJS.enc.Hex.parse(time),
			CryptoJS.enc.Hex.parse(key)
	)

得到结果

	const len = 6;const result = otp.substr(otp.length - len, len).toString() // 默认取的最后6位

作者

青云科技院长高级工程师

本文由博文平台发布!

谷歌锁区号/谷歌邮箱老号-购买商城
谷歌play地区代改
Google Voice号码支持自助购买
谷歌锁区号购买商城]
美区VISA卡代开-可以用于aws,azure,FB,谷歌,亚马逊,速卖通,eBay,独立站,paypal等支付
如果您还有其他问题可以加我QQ交流。
QQ号:2802364971

原文链接:提高安全性的办法认证来源负载均衡多服务器的问题,转载请注明来源!

0