码迷,mamicode.com
首页 > 微信 > 详细

APP开发,微信第三方登录的介绍

时间:2018-12-14 14:58:27      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:regex   ack   获得   userinfo   网站   color   body   strong   padding   

去年做了一阵APP相关的开发,经常遇到第三方登陆的需求,比如微信、微博、fb的第三方登陆等等,其实主要的流程都大同小异,这里就以微信为例来介绍,希望对大家有帮助。

微信开放平台(open.weixin.qq.com)

  1. 注册开发者账号,填写基本信息,例如邮箱,邮箱激活
  2. 完善开发者的资料,包括真实姓名,手机,地址等
  3. 腾讯审核开发者资质,审核费用每年300
  4. 在管理中心创建应用,分移动应用、网站应用等不同类型
  5. 填写应用的名称、简介、logo、应用的官方网站等信息
  6. 腾讯审核,7个工作日
  7. 通过后可获得该应用的APPID、AppSecret
  8. 并且可在应用详情中申请开通微信登录、微信支付等

调用流程

1. 获取授权码(code)

1.1. 移动应用调用SDK
1.2. 网站应用调用

https://open.weixin.qq.com/connect/qrconnect

并传入APPID,及重定向地址,生成二维码地址。用户使用微信扫描二维码并同意授权后,跳转至重定向地址,并且带来了授权码。

2. 使用授权码获取access_token

2.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分享)!

技术分享图片技术分享图片

APP开发,微信第三方登录的介绍

标签:regex   ack   获得   userinfo   网站   color   body   strong   padding   

原文地址:https://www.cnblogs.com/morvenhuang/p/10119045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!