QQ 互联登录插件

已经存在的用户,如何才能绑定呢?

还没有这样的接口

1赞

QQ Connect从美国这边访问不了?

这个服务器就是在 US,一切正常。

应该是哪里出了问题,我用三种浏览器都试过还是没有办法登录,open.qq.com倒是可以上。

三级域名无法工作吧?
例如我的discourse填写

  • 网站地址:http://discourse.lttt.freeshell.ustc.edu.cn
  • 回调填写:http://discourse.lttt.freeshell.ustc.edu.cn 或者http://lttt.freeshell.ustc.edu.cn
    都说是非法的, why?

qq的那个反馈系统也是一个坑, 说什么系统繁忙…

回调地址填写那栏说了不要写 http://

看到了, 但是真正填的时候说非法啊, 否则qq互联里 完全不能保存

帮助文档里还有:

申请时需注意: 1. 只需要填写站点根域名即可;

ustc.edu.cn 才是根域名嘛,你这已经是三级域名了

一样啊, 还是报错:redirect uri is illegal(100010)

三级域名也是可以登录qq互联的, 我这里有个discuz的例子
当然用的是discuz的插件

Discuz 不要注册互连吗?如果是要注册的话,似乎域名应该一样

刚才看了下, 不要填写key,id, 不要注册。 可能是插件自动化了的? 而且依赖于dicuz云平台。

设置只需要按照这里的图即可。

应该是 Discuz 云平台做的接入。那么我也不知道你应该填写哪个回调地址了…

填哪个都不是这里产生错误的关键吧, 你看看出错的网页就知道, 地址调用
http://openapi.qzone.qq.com/oauth/show?which=error&display=pc&error=100010&client_id=101211809&redirect_uri=http%3A%2F%2Fdiscourse.lttt.freeshell.ustc.edu.cn%2Fauth%2Fqq_connect%2Fcallback&response_type=code&state=2e221318c03e7df73fdae4b8eabaf61e77ab46573df4438b
redirect_url其实是正确的

对比你的qq互联登录地址
http://openapi.qzone.qq.com/oauth/show?which=ConfirmPage&display=pc&client_id=101159148&redirect_uri=https%3A%2F%2Fmeta.discoursecn.org%2Fauth%2Fqq_connect%2Fcallback&response_type=code&state=7c2cb3b51fe572e20e1f588358ec338bcddc07629770643d
更有说服力了.

后面的state是随机产生的, 作为测试, 你可以在你qq_互联的登录页面不忙点击确认地址, 把地址copy到另一个重新打开的网页只要这个state还没改变就能够登录授权

但是当state改变时, 例如你关闭了确认框, 就会提示没有授权。

在我的情形, 做个测试, 你可以访问
http://openapi.qzone.qq.com/oauth/show?which=Login&display=pc&client_id=101211809&redirect_uri=http%3A%2F%2Fdiscourse.lttt.freeshell.ustc.edu.cn%2Fauth%2Fqq_connect%2Fcallback&response_type=code&state=2e221318c03e7df73fdae4b8eabaf61e77ab46573df4438b
到达登录确认界面, 但是点击确认提示redirect uri is illegal(100010)

填哪个是产生错误的关键。redirect_uri 是插件发送给腾讯验证的,所以腾讯可以根据发送过去的 redirect_uri 选择是否拒绝这次验证请求

看你代码不是很懂, 怎么没有看到回调的语句? 不是应该有个redirect_uri =>回调地址吗? 回调地址是怎么产生的?

解决了, 回调地址应该是:
http://discourse.lttt.freeshell.ustc.edu.cn/auth/qq_connect/callback
呵呵, 就是把这个redirec_uri不带参数的填进去, 想来腾讯也没多聪明,就是对比着两个东西一不一致而已。

参考了这里的文章

2赞

又, 好像还有微信登录, 豆瓣登录, 可以整合到一起吗?

回调地址是一个库自动生成的,固定格式就如你所见 {HOSTNAME}/auth/{STRATEGY_NAME}/callback

你可以分别安装那豆瓣登录的插件。微信登录申请不到号,没法测试,不过我大概可以写出来,你能帮忙测试么?