白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述APP开发,微信第三方登录的介绍相关的知识,希望能为你提供帮助。
去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信、微博、fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助。
【APP开发,微信第三方登录的介绍】去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信、微博、fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助。微信开放平台(open.weixin.qq.com)
调用流程
- 注册开发者账号,填写基本信息,例如邮箱,邮箱激活
- 完善开发者的资料,包括真实姓名,手机,地址等
- 腾讯审核开发者资质,审核费用每年300
- 在管理中心创建应用,分移动应用、网站应用等不同类型
- 填写应用的名称、简介、logo、应用的官方网站等信息
- 腾讯审核,7个工作日
- 通过后可获得该应用的APPID、AppSecret
- 并且可在应用详情中申请开通微信登录、微信支付等
1. 获取授权码(code)1.1. 移动应用调用SDK
1.2. 网站应用调用
https://open.weixin.qq.com/connect/qrconnect
并传入APPID,及重定向地址,生成二维码地址。用户使用微信扫描二维码并同意授权后,跳转至重定向地址,并且带来了授权码。
2. 使用授权码获取access_token2.1. 通过调用
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&
secret=SECRET&
code=CODE&
grant_type=authorization_code
返回结果类似如下:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE",
"unionid":
"UNIONID"
}
2.2. access_token有效期
有效期较短(2小时),refresh_token有效期一个月,可以使用refresh_token刷新access_token,避免频繁要求用户同意授权。
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&
grant_type=refresh_token&
refresh_token=REFRESH_TOKEN
2.3. 多个应用的情况
如果同时有多个应用,同一个微信用户在不同的应用上登录会生成不同的openid,但unionid相同,若需要同一微信用户映射到后台的同一账户上,应使用unionid。
3.通过access_token获取用户信息(如昵称等),
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&
openid=OPENID"
备注
以上调用步骤可以完全由前端(APP、WEB)完成,不过一般应用后台有自己的一套用户系统,所以应用后台可以在不同的步骤介入,例如可以在前端活动用户信息后调用后台进行入库保存,或者也可已在获得access_token后介入,由后台访问微信获取用户信息。
好了,今天就先到这儿,cheers!
送书了,送书了,没有套路,没有套路,关注公众号“程序员杂书馆”,就送出O\'Reilly《Spark快速大数据分析》纸质书(亦有一批PDF分享)!
文章图片 | 文章图片 |
推荐阅读
- Sping Cloud项目启动报A component required a bean of type 'com.tianyan.bbc.dao.SecurityUserBaseMapper&
- 易利购社交电商APP开发
- 精英审判下载|精英审判app下载
- Oracle中append与Nologging
- android注解处理技术APT
- Mac上eclipse安卓开发查看SQLite数据库
- appscan入门操作
- Android架构设计之插件化组件化
- Arrayadaper在安卓开发中的作用