admin 管理员组文章数量: 1086019
移动应用接入网页QQ登录
在以前应用接入 Android/IOS SDK 后, 如果用户手机没有安装客户端 , 可以直接使用网页授权登录.但是现在腾讯关闭了网页授权登录,转为提示用户.这样的体验很不好 !
但是发现 QQ 音乐、QQ 视频 在没有安装客户端的情况下,依然可以进行 H5 登录 .(一度怀疑是亲儿子的待遇) 后来发现是网页应用授权登录。
开通网页登录比如要面临一个问题 , 网页授权登录和移动授权登录的 OpenId 不一致,服务端无法判定是否为同一用户.。
腾讯的做法是不同应用登录 OpenId 不一样,但是 UnionId 一样. 之前客户端登录都是使用的 OpenId 。因此服务端需要一个接口 , 跑数据库,在数据中新加一个字段, UnionId ,以后不再使用 OpenId ,而使用 UnionId 作为用户唯一标识.。
整个申请流程花了很长时间 :
- 在腾讯互联注册网页应用 . 申请 网页应用 AppId 和 AppKey. (移动应用和网页应用必须在同一账号下).
- 联系 QQ 互联客服 , 询问通过 OppenId 获取用户 UnionId 的接口.(我是直接在QQ上联系客服后,客服给了我一个邮箱,你可以将你面临的问题通过邮件沟通具体流程)。
移动应用使用网页登录简要流程 : (具体携带参数,请参考下方链接)
- 客服端访问后端提供的一个接口。
- 后端请求 https://graph.qq/oauth2.0/authorize 用户登录成功后, 获取 Authorization Code 。
- 后端请求 https://graph.qq/oauth2.0/token 通过Authorization Code获取Access Token 。
- 后端请求 https://graph.qq/oauth2.0/me 获取用户OpenId, UnionId , 服务器比对 UnionId,判断登录还是注册。
- webview 与 js 交互,传递 Access Token 和 OppenId ,正常登陆流程。
QQ互联 参考文档 :
http://wiki.connect.qq/
http://wiki.connect.qq/网站应用接入流程
http://wiki.connect.qq/使用authorization_code获取access_token
版权声明:本文标题:移动应用接入网页QQ登录 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1738252003a1950942.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论