我是这样申请并接入QQ登录的
跟腾讯客服扯了两天,终于成功通过了QQ登录的接入权限。
同时我也算是把所有坑都踩了一遍,今天来一次讲清。
注册开发者
首先去 https://q.qq.com/#/ 登录自己的QQ号,然后走注册流程。
注册完成后你就成为了QQ开放平台的开发者了,然后去新建一个小程序。新建小程序的时候里面也会让你提供开发者信息,提交完成后会进行人工审核。需要的信息比较多,有的甚至需要住址。好在申请一次后如果通过就不用管了。提审以后在互联会同步开发者信息,这样你就完成了注册这一步。
为什么不直接在互联注册?因为互联带到的是 https://open.tencent.com/ 这个“腾讯开放平台”总入口,你也依然需要在“QQ开放平台”注册并验证开发者信息。
当然腾讯这个后台太多了,感觉有点杂。可能还有其他的办法能注册上,反正我是这样过来的。
创建网站应用
重点来了,当你完成开发者信息提交并审核通过以后,你就可以创建应用了。
当然应用资料的审核也是人工的,所以按照审核规范肯定是少不了坑点的。
基本信息:
你需要准备一个应用名称、应用图标和应用介绍。
应用名称是你希望以用户登录的时候在授权页看到的名字,当然因为我的域名就是我网站的名字所以这里我写的b23.kim。
应用图标本身是非必填的,早期不上传图标也能过审。现在虽然也不是必须上传,但是没有图标的应用已经不再能过审了。
应用介绍是个必填项,不在前端展示。仅仅只是给审核看的而已,但是我不确定未来会不会改。
调试QQ号一般不填,留空即可
平台信息:
你也需要准备网站地址、网站回调域、主办单位名称、网站地址备案号。
网站地址就是你要申请的网站的目标URL。审核的时候人工会去看这个地址里有没有放置明显的登录按钮,以及是否包含QQ登录。如果你填的网站首页地址的话如果审核找不到登录按钮是会打回的(审核看到登录按钮之前不会多点,按钮位置需要好找),对于博客而言首页一般是没有登录按钮的,这种情况下网站地址你填文章页有评论区登录的内页URL就行。这里我填的是 https://www.b23.kim/details/659d6747b273.html 某一带评论区的文章的链接(也就是所谓的“内页”)。
这个地址不仅仅是给审核看的,在登录的时候在验证页是作为应用名称点击跳转的链接使用的:
审核过后如果不满意可以修改重新提交,就是需要再审一次而已。
网站回调域是在QQ登录完成后要回调的地址,如果多个就以英文;隔开。
这里回调域是作为一个白名单使用的,只有提交了的回调域才能被回调,有效防止盗用。
主办单位名称如果是企业就是企业名,如果是个人那就随便了。我这里写的是“个人主体”。如果是修改信息的话这一栏是“提供者”,务必注意。
网站地址备案号的坑最多,稍微错一点就会被打回。而最容易错的点就是格式问题了,需要精确到横杠后面那个数字。如果没有就会说“备案号不匹配”。
如果你能绕过这些坑的话那么恭喜你,不出意外的话只需要审核一次就能通过。一般两个工作日内就能出结果。
接入
QQ登录能干的事很多,具体见开发文档:https://wiki.connect.qq.com/oauth2-0%e7%ae%80%e4%bb%8b
有接口能获取用户的会员状态啥的,基本上我也忘光了。但是腾讯为了保护隐私,验证后拿到的基本上都是OpenID,没有QQ号。
本站的技术栈为Artalk + Casdoor组合使用,有关它们俩的教程如下
1.Artalk的部署:https://www.b23.kim/details/5250c3717631.html (目前似乎原作者已经不再维护)
2.Casdoor的搭建:https://www.b23.kim/details/808a9f471a72.html (其实你可以直接在应用市场里面安装 小声bb)
3.强行兼容:https://www.b23.kim/details/ce4b38f27c8d.html (硬核清理Casdoor的石山)
如果你是其他场景或者技术栈不同的话以你那边和开发文档为准,以及QQ使用的是标准的OAuth2.0接口。
在Casdoor里面创建一个提供商,分类OAuth,类型QQ。
然后在客户端ID那里填写你的APP ID,在客户端ID那里填写你的APP Key即可。
最后别忘了在“应用”里面选上新建的提供商
(其实这一步你需要在提交审核之前就做,要不然他们看不到你的QQ登录按钮)
另外最好是在提交审核之前就配置好接口,防止审核点一下QQ登录的按钮发现你业务方没配置开发信息再因为这个打回。
在审核通过前,登录页应该是这样的:
在配置开发信息前,登录页是这样的:
这个是腾讯客服截图的,我这边会另外显示一个“给您造成的不便……”,只是当时我没截图而已。
当时问的时候他是这样说的:






