论坛首页 移动开发技术论坛

基于第三方微信授权登录的iOS代码分析

浏览 1841 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-11-19  
iOS

微信已经深入到每一个APP的缝隙,最常用的莫过分享和登录了,接下来就以代码的形式来展开微信登录的相关说明,至于原理级别的oauth2.0认证体系请参考微信开放平台的相关说明和图示 https://open.weixin.qq.com/

微信登录授权开发

1,到微信开发平台注册相关APP,现在是等待审核成功后才能获取到对应的key和secret;获取成功后需要单独申请开通登录和支付接口,如图


 

2,和QQ类似,需要填写Url Schemes,如demo中的wxd930ea5d5a258f4f ,然后引入相应framework;

3,在AppDelegate中注册和实现授权后的回调函数,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//向微信注册  
  [WXApi registerApp:kWXAPP_ID withDescription:@"weixin"];  
   
//授权后回调 WXApiDelegate  
-(void)onResp:(BaseReq *)resp  
{  
   /* 
    ErrCode ERR_OK = 0(用户同意) 
    ERR_AUTH_DENIED = -4(用户拒绝授权) 
    ERR_USER_CANCEL = -2(用户取消) 
    code    用户换取access_token的code,仅在ErrCode为0时有效 
    state   第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传,state字符串长度不能超过1K 
    lang    微信客户端当前语言 
    country 微信用户当前国家信息 
    */      
    SendAuthResp *aresp = (SendAuthResp *)resp;  
    if (aresp.errCode== 0) {  
        NSString *code = aresp.code;  
        NSDictionary *dic = @{@"code":code};  
    }  
}  
margin: 0px !important; padding: 0px 1em !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; border-bottom-right-radius: 0px
  • 大小: 121.7 KB
  • 大小: 31.4 KB
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics