各个厂商提供的Oauth2服务对比
最近研究了一下第三方登录,也就是Oauth2协议,最新关注的是Google,包括Oauth2协议在内,好像是花了两天的时间实现了登录,不过他的JS SDK的说明文档也有诸多不明确的地方,而且侧重于Google+的API,对于我只想获得用户信息,几乎就没找到基础文档。
接下来研究是weibo的登录API,相对来说,他的JS SDK是这几家里面最简单的,不过设计思路和Google API有点差别,而且必须在验证之后的域名下调用,如果不是验证过的域名,既没有错误提示,也不会产生任何效果,另外一点就是weibo的验证,必须有ICP或者相关的东西,才能允许上线使用,否则只能用测试帐号。This is 天朝!
最后研究的是QQ API,最扯淡的就是他居然需要回调页面,即使是JS SDK,也需要一个回调页面,然后回调页面再通知window.opener,回传授权结果。而且官方说明页面有多处代码错误,还有许多让人费解的地方。API的设计更是非人类。同一个方法里面,居然要传入两个回调函数,一个是login,一个logout,咱们就不能把这两个方法分开处理吗。而且我试着自定义自己的登录样式,都是以失败告终,只有用他的SDK并用他的图标,才能顺利执行。
综上,各个厂家的SDK做的还有不完善的地方,尤其是在文档方面。其中weibo应该是做的比较简洁的,Google介绍的很全面,QQ的最扯淡。想想,应该是Oauth2仍然处于发展中,各家的SDK也是在更新中,所以文档没有跟上SDK的变更。而且QQ的文档我估计是程序员写的。
以上内容仅表明各家的JS SDK的登录,并未涉及到其他API,以及不用SDK直接调用。