第三方登录,多登录方式的回调地址问题

目前在做第三方登录,碰到一个问题,就是在用户确认提交请求后,会返回一个CODE,不论QQ还是微信还是新浪都会返回这个CODE参数。那么这三个登录的流程处理页面我都指向同一个地址,问题就是怎么知道是QQ还是新浪或者微信发回来的code,然后再调用相关方法进行登录。

不会是做三个地址页面吧?

阅读 7.6k
4 个回答

第三方登录之前,也就是授权的页面,都是需要传递一个 redirect_url 的参数(也就是你的回调地址),在这个回调地址中,你除了可以接收CODE,还是可以接收其他参数的,你可以加入其他参数进行判断。

你可以在传入的 redirect_url 后面直接携带一个参数标记QQ还是微博或者是其他平台,那么在回调到你的地址时,这个参数依然存在,你可以通过这个参数进行判断。

其他的不知道,微信请求的时候可以传一个state参数,微信会把这个参数回调回来

看你的第三方api 是否支持传自己的参数 如果支持 你自己传一个参数 来判断来源即可 如果不支持 那就配不同的地址 其实你这个地址 只是做一个中转 最终走同一个逻辑 就可以了 代码复杂度不会增加很多

推荐问题