访问A.com,但是要跳到B.com验证身份,B.com验证了身份,返回一个token,通过url的形式传递这个token,比如说返回的页面是A.com/main.html?token=a123321,那么A.com这个页面是不是前端要获取到这个token,然后带着token发送请求到B.com的资源服务器,拿到这个用户的信息
不知道这个流程对不对,对应oauth2.0的简易模式,不是授权码模式?
不对的地方,请大家指正,感谢
访问A.com,但是要跳到B.com验证身份,B.com验证了身份,返回一个token,通过url的形式传递这个token,比如说返回的页面是A.com/main.html?token=a123321,那么A.com这个页面是不是前端要获取到这个token,然后带着token发送请求到B.com的资源服务器,拿到这个用户的信息
不知道这个流程对不对,对应oauth2.0的简易模式,不是授权码模式?
不对的地方,请大家指正,感谢
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.2k 阅读✓ 已解决
7 回答2.1k 阅读
5 回答1.3k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
关键在于定位,你的A.com 是扮演的 client 角色,还是resource server 的角色,这里暂且当作client的身份,由自己保留token,并以session区分。
看你的流程有点像简化模式,接着你的说,返回到A.com 并不一定非得是前端,后端也行,token 最好加密,然后用事先约定的方式解开,这样A.com 也就拿到token了。将token 记录到session,也就算实现了登录。下次A.com 重启,去请求B.com , B 发现登录了,于是不需要在重新登录,直接拿token,A.com 直接就登录上了。这也就是单点登录。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。