欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 第三方登录回调如何刷新页面(sorry描述不清请进问题里面看)

程序员文章站 2022-06-12 17:58:20
...
发起第三方登录,如微信登录。
1.先从a页面进入登录页b,点击微信登录;
2.open一个微信的二维码授权页面c,用户打开应用扫一扫授权;
3.关闭回调后的逻辑处理页c,并将b页面刷新到a页。

问题来了,到第三步的时候登录注册逻辑在c的回调接口上处理,c是如何在关闭前控制b刷新到a页面的。想不明白啊???

加个例子:1号店就有这个功能。

回复内容:

发起第三方登录,如微信登录。

1.先从a页面进入登录页b,点击微信登录;
2.open一个微信的二维码授权页面c,用户打开应用扫一扫授权;
3.关闭回调后的逻辑处理页c,并将b页面刷新到a页。

问题来了,到第三步的时候登录注册逻辑在c的回调接口上处理,c是如何在关闭前控制b刷新到a页面的。想不明白啊???

加个例子:1号店就有这个功能。

b页面在打开页面时发起一个请求并阻塞(长连接),当c页面扫一扫成功时b页面请求到了结果并跳转到a。
至于实现,b请求服务器时服务器可以判断一个值(例如session("wechat"),如果session("wechat")不存在则则阻塞直到扫描以后,扫描成功的话将url返回过去,拒绝的话将状态码返回过去),我发现微信的扫一扫是这样实现的。

提主这个问题不难啊,首先你任何位置跳至登录页(b页面)都带上'来源地址'这个参数(即a页面地址),然后第三方登录返回后调取b页面获得的a页面参数进行跳转即可!