现在的各大社交网站都支持第三方登入,比如QQ,微博等,但要做成那种点击使用QQ登入后弹出一个子窗口的授权页,用户确认授权后就会授权成功,成功后子窗口就自动关闭了,并且原来的网页也自动刷新了,子窗口是如何在授权成功后就自动关闭的呢,是不是需要父级窗口去后台查询是否已经授权成功,成功就关闭子窗口,还是子窗口在授权成功后接到后台返回的消息就自己关闭自己并且通知父级窗口刷新页面,因为我是写后台的,对于前端也不是很了解,目前是授权完全成功的,就差这个流程了,能有关键代码就更加感激不尽了0.0
现在的各大社交网站都支持第三方登入,比如QQ,微博等,但要做成那种点击使用QQ登入后弹出一个子窗口的授权页,用户确认授权后就会授权成功,成功后子窗口就自动关闭了,并且原来的网页也自动刷新了,子窗口是如何在授权成功后就自动关闭的呢,是不是需要父级窗口去后台查询是否已经授权成功,成功就关闭子窗口,还是子窗口在授权成功后接到后台返回的消息就自己关闭自己并且通知父级窗口刷新页面,因为我是写后台的,对于前端也不是很了解,目前是授权完全成功的,就差这个流程了,能有关键代码就更加感激不尽了0.0
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
LZ主要想问前端怎么做吧?作为一个写后台的,对后台的处理你应该比较熟悉了,我就不多说了。
前端主要在于两点:
要保证打开的窗口可控(可以关闭)
要能收到授权成功的通知/事件
第一点而言,很简单
window.open()
打开窗口的时候函数返回值保留下来。请参考 window.open on MDN.而第二点,就需要前后台合作了,一般可以通过轮询、长连接拉取、EventSource甚至WebSocket等方式来搞。由于登录功能不是一个长时间跑的业务,一般轮询就可以了。
前端伪代码: