(符合公司开发文档的)开发大佬说的单点登录的思想

开发大佬说的单点登录的思想

总的单点登录的思想:

1。你判断看到当前用户没有登录,就跳转到对方的认证登录页面,让用户登录
2、登录成功后,对方的认证服务器会回调你这边提供的一个接口(就是跳转过去的redict_url,你自己定义的,定义好就写在那个参数上面,人家会根据这个接口告诉你),告诉你一个code或者token
 3、当你通过自己的新增的接口拿到code或者token后,再利用这个code或者token去认证服务器拿到用户信息,当你拿到用户信息了,就代表成功登录了,之后的逻辑 就和你以前原来的登录后拿到用户信息 一样。就是这个

下面这个图就是第三步

 

 

 

 

 

 

1.总的流程图

 

 

 

 1.第一问,这个请求在图中的哪个步骤

 

第一问的解答:属于图中的第二个步骤,然后是由我们自己前端或者后端发送的,这个就是对方的地址,你要重定向过去,一般来说,后端重定向;

那后端什么时候重定向呢?答:判断请求有没有登陆,没有登录的话就重定向过去,就相当于,没有登陆,你会跳到你自己的登录页面,只不过现在不跳自己的页面了,跳去对方的。

 

第二问:这个第一步怎么访问法

 

 

 答:浏览器,就是输入你项目的地址,如果没有登录,是不是要跳去登录页面,这个登录页面本来就是你平时开发的那个,但是现在不要这个了,用对方的来替代。

http://sso.tellhow.com/oauth/authorize?client_id=SSO&response_type=code&redirect_uri=http://127.0.0.1:8899/paraOsc/index&state=SSO-LOGIN

这个就相当于对方提供的接口,返回值就是通过回调redirecturl,是用户点击你的应用,你重定向到这个地址,没登录就发送。

重定向到哪里的? 答:这个就是你项目的一个接口,他调用这个接口(redirect_uri=http://127.0.0.1:8899/paraOsc/index&state=SSO-LOGIN),这个接口你需要自己开发,参数都给你定义好了。

第三问:重定向是哪个步骤

 

答:第六步。

第四问:后端写代码发送 还是前端写代码发送

 

答:步骤7  我圈红的这个得我自己发送对吧,对,后端发送,http请求,后面的步骤不用看了,一般去到7就可以,789都是一样的,他这里有点多余,看你现在文档的步骤

 

就是第8步

 

 

 

第五问:第八步应该不是我发送的吧

 

答:应该说就是第7步,实线都是你调用,虚线是返回

第六问:他第九步咋没写,没写 文档

 

答:不需要这一步了,不需要这一步?不需要第九步的话 拿我拿到的token有啥用?我不得带着token去请求我的应用吗  我的应用判断有token说明已经登录了?就可以访问,你为啥说不需要第九步? 答:就看你的文档有没有这一步,

 

 

 

 

只有第九步有,只有第九步是checktoken请求的。

答:那就有第九步

 

答:是不是大概流程就是那样子,但是我这边开发接口的话  对方是不是也得开发对应的接口,不然无法接受我的请求,就他们的认证平台,答:对,他们早就开发好了,他们就是认证服务器啊。

密码验证去掉,但是判断有没有登录,这个保留,没有登录就和原来的一样,让前端跳转到登录页面,但是这个登录页面不是原来你项目的登录页面,是认证中心的那个url

第七问:怎么判断他有没有登录的?

 

 

答:这个方法。你的项目用的是auth2.0,认证那边也是,所以我觉得你项目的auth2..0可以直接不要了,重新写代码接入对方的认证服务。为了跳转到登录页面,输入密码登录,就是重新写登录验证,就当这个项目还没有做登录接口。

 

记得需要知道谁是认证中心,确定好角色再开发

 

posted @ 2023-02-25 11:24  秋名山滴  阅读(39)  评论(0)    收藏  举报