Android开发中微信登陆

关于android开发中的微信登陆,除了使用shareSDK,我们使用腾讯开发者平台上提供的SDK,按照官网步骤实现第三方登陆的功能。

 

微信OAuth2.0授权登录目前支持authorization_code模式,适用于拥有server端的应用授权。该模式整体流程为:

  1. 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;

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

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

第一步:在进行微信OAuth2.0授权登录接入之前,在微信开放平台注册开发者帐号,并拥有一个已审核通过的移动应用,并获得相应的AppID和AppSecret,申请微信登录且通过审核后,可开始接入流程。

Android平台应用授权登录接入代码示例(请参考Android接入指南):


    // send oauth request 
    Final SendAuth.Req req = new SendAuth.Req();
    req.scope = "snsapi_userinfo";
    req.state = "wechat_sdk_demo_test";
    api.sendReq(req);
}

用户点击授权后,微信客户端会被拉起,跳转至授权界面,用户在该界面点击允许或取消,SDK通过SendAuth的Resp返回数据给调用方。

当Resp的返回值errCode = 0时候可以获得code

第二步:通过code获取access_token

获取第一步的code后,请求以下链接获取access_token:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

这一步请求成功之后可以返回access_token,openid

第三步获取用户信息:

http请求方式: GET

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

通过返回的个人信息,比如nickName,sex,unionId给serve端方可登陆你的app.

 

 

Android开发中微信登陆

上一篇:asp.net微信开发第五篇----用户分组管理


下一篇:”易修车“项目的微信支付问题