事先说明我讲的只是其中的一种登录方式,这种登录方式只是提供一种参考(真是案例)
-
首先输入网址
输入网址后就进入到一个登录页面,这个登录页面是其他人负责的一个系统,输入账号密码之后,如果验证通过,就会跳转到我们自己的页面,我们的页面发送一个地址给后端,然后后端就进行SSO鉴权。SSO鉴权,就是当我们登录到A系统成功之后,A系统给B系统一个ticket(票据),通过对这个票据的验证,验证成功,就可以登录B系统。
-
SSO鉴权的具体流程步骤
1.对ticket(票据)进行验证
①对票据进行解密对票据解密的目的就是为了证明另一个系统是否验证通过了,需要后端有对应的秘钥才能完成解密,如果未解密成功,就需要重新登陆。
②对票据在进行加密对票据进行重新加密是为了调用另一个系统的信息,对其加密也需要对应的签名,另一个系统有对应的秘钥,这样另一个系统才能解密成功,并把想要调用的信息提供出来。
2. 调用其他系统信息当完成了对票据的验证会重新生成一个票据,这个票据以及存在后端的其他标识,共同作为参数,通过okHttp.doPost调用url(储存在后端的),得到对应的结果,一个String串。
3. 信息验证通过JSON.parseObject,将得到的结果转化成一个类,这个类中装载了我们想要最终得到的身份信息,当然该信息可能并不存在,所以需要进行验证。
820

被折叠的 条评论
为什么被折叠?



