微信授权登录

前期准备工作:申请AppId,下载资源包jar、文档等。

微信授权登录步骤:

  1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;(第1步官方文档写得很模糊分散,做微信授权登录的时候遇到很多问题,现在总结记录下来)

  2. 通过code参数加上AppID和AppSecret等,通过API换取access_token,openid;

  3. 通过access_token和openid进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

注意:

  1.想要正常调起微信授权登录页面,应用包名和签名必须是和申请AppId时上传的应用保持一致,否则无法调起微信授权登录页面。Debug签名是无法调起微信授权登录页面的。

  2.想要接收微信返回值,也就是响应回调方法,必须做到以下3步操作:

  a.新建一个包:应用包名.wxapi(应用包名必须是你申请AppId时应用的包名),在wxapi目录下新建WXEntryActivity类,该类继承自Activity,并在manifest文件里面配置WXEntryActivity时,加上exported属性,设置为true

  b.实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

  c.在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图

      该代码写在onCreate方法里,请把AppId替换成你自己的AppId

   当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

   WXEntryActivity无需设置界面,通过onResp(BaseResp resp)拿到返回的resp,resq的类型是com.tencent.mm.sdk.modelmsg.SendAuth$Resp,强转成SendAuth.Resp,就能通过resq.code拿到code,把code发送给后台服务器,后台通过code就能拿到access_token和oppenid,通过access_token和oppenid就能拿到用户信息进行注册登录了,然后把信息再返回给前端应用,整个授权登录就OK了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值