Home >Backend Development >PHP Tutorial >javascript - 第三方登录,多登录方式的回调地址问题

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

WBOY
WBOYOriginal
2016-06-06 20:20:141309browse

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

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

回复内容:

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

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

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

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

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

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

<code>/**
 * 单向链表构造函数
 */
function LinkedList() {
  /**
   * 单向链表中节点的构造函数
   * @param {Any} element 要传入链表的节点
   */
  var Node = function(element) {
    this.element = element;
    //下个节点的地址
    this.next = null;
  }

  //单向链表的长度
  var length = 0;
  //单向链表的头结点,初始化为NULL
  var head = null;
}</code>

问:今年的ECUG大会你为什么选择“一周一语言”这个演讲主题?ECUG Con 2015有什么特色?

嗯,你这个问题有意思,是今天采访最让我兴奋的话题了。为什么选择“一周一语言”,有几个原因吧。一方面弥补下中国人没有自己流行语言的遗憾,我认为qnlang(不过我在内部已经改名为qlang,即Q语言)具有流行起来的基因。qlang的定位很独特:它是Go语言的伙伴语言。作为和Go语言交互最便捷的语言,在Go语言成为云计算的事实标准时,在很多场合我们都可以用qlang作为辅助语言完成对系统的灵活定制需求。比如,如果我们用Go语言开发爬虫,我们可以用qlang来定制爬虫的诸多策略,怎么做到这一点我在演讲中会给出示范。

另一方面大部分人学习的时候太功利,不太重视学习基本功,比如编译原理。事实上我认为编译原理是非常非常重要的一门基础知识。某种程度上说可能是名字不够好,我个人更喜欢把这个领域叫做文本处理。文本处理应用范围非常广泛,想一下我们今天实际生产环境中,什么地方不需要文本处理?在我们现在很火的“大数据”领域,文本处理显然是很重要的基础。

ECUG Con 2015从议题上看,技术更加细粒度化了,很多讲师都选了一个很小的知识点来展开讲,把话题讲透彻,这是很好的进步。比如洪强宁只讲网络,我只讲文本处理,刘奇讲Raft(有趣的是Etcd作者李响讲Paxos,他们两的议题结合起来听一定很有意思)。比起很泛泛地说XX实践,这样的议题大家可以得到更多干货。

可能这个问题太小白了,我没有Google到解决方法。。。初学者,安装好PHP、MySQL就已经蒙圈了,求各位大大原谅我提这么蠢的问题。感谢感谢!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn