关于微信授权登录并获取Openid以及用户信息

一.集成微信授权登录

二.集成代码

  1. AppDelegate 代码

#import "AppDelegate.h"
#import "WXApi.h"
#import "WXApiManager.h"
@interface AppDelegate ()

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    [WXApi registerApp:@"wx1a607bdfc220e2e0" withDescription:@"demo 2.0"];

// Override point for customization after application launch.
    return YES;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return  [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [WXApi handleOpenURL:url delegate:[WXApiManager sharedManager]];
}
2.调起授权代码

//调起授权

-(void)Auth{

[WXApiRequestHandler sendAuthRequestScope: kAuthScope
                                        State:kAuthState
                                       OpenID:kAuthOpenID
                             InViewController:self];
    
    
}

//遵循代理方法通过授权得到code 再通过code 得到用户的Openid
- (void)managerDidRecvAuthResponse:(SendAuthResp *)response {
  NSString *URlStr =  [self code:response.code];
    AFHTTPRequestOperationManager *httpClient = [AFHTTPRequestOperationManager manager];
    
    httpClient.requestSerializer = [AFJSONRequestSerializer serializer];
    //如果报接受类型不一致请替换一致text/html或别的
    httpClient.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
//    [httpClient.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
//    [httpClient.requestSerializer setValue:@"utf-8" forHTTPHeaderField:@"charset"];
    // FOR HTTP
    httpClient.responseSerializer = [AFHTTPResponseSerializer serializer];
    httpClient.operationQueue.maxConcurrentOperationCount = 3;
    
    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy defaultPolicy];
    
    securityPolicy.allowInvalidCertificates = YES;
    securityPolicy.validatesDomainName = NO;
    
    httpClient.securityPolicy = securityPolicy;
    
    [httpClient POST:URlStr parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"%@", [[NSString alloc] initWithData:responseObject  encoding:NSUTF8StringEncoding] );
        
        
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"%@",error);
    }];
    
    
}

//配置URL
-(NSString*)code:(NSString*)selfCode{
    NSString *str = [NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx1a607bdfc220e2e0&secret=e13ded42afd77947311038480d7d3b64&code=%@&grant_type=authorization_code",selfCode];
    NSLog(@"%@",str);
    return str;
}

时间: 2024-08-04 04:38:30

关于微信授权登录并获取Openid以及用户信息的相关文章

微信授权登录并获取用户信息接口开发

总结一下微信授权登录并获取用户信息 这个接口的开发流程. 一.首先你的微信公众号要获得相应的AppID和AppSecret,申请微信登录且通过审核后,才可开始接入流程. 二.授权流程 1.流程说明 (1). 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数: (2). 通过code参数加上AppID和AppSecret等,通过API换取access_token: (3). 通过access_token进行接口调用,获取

微信网页授权-公众号支付(获取openid、用户信息等)

名词解释: openid 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID 业务功能描述:实现H5页面可以在微信浏览器里面进行微信支付,所以需要使用微信公号支付功能才能实现, 微信公众号支付功能需要用户的openid,所以进入页面时需要通过网页授权首先获取到openid. 支付流程大致流程如下: 1,进入支付页面时,请求以下链接获取code appid 是 公众号的唯一标识 https://open.weixin.qq.com/connec

微信公众平台开发——微信授权登录(OAuth2.0)

1.OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据.每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频).这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们

wap2app(五)-- 微信授权登录以及踩过的坑

应用场景是:用Hbuilder打包app,在app中点击微信授权登录或者某一操作,调起微信授权登录,用户授权后拿到用户信息. 一.登录插件配置 先配置微信登录参数 appid和appsecret,在manifest.json 文件中选择SDK配置,登录鉴权  勾选微信登录,填入在开放平台申请的app参数. 在manifest.json 文件中选择 源码视图,找到"OAuth",配置为 "OAuth" : { "description" : &qu

微信授权登录,关于调不起授权页面,无法响应回调方法,获取不到code 详解

前期准备工作:申请AppId,下载资源包jar.文档等. 微信授权登录步骤: 1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数:(第1步官方文档写得很模糊分散,做微信授权登录的时候遇到很多问题,现在总结记录下来) 2. 通过code参数加上AppID和AppSecret等,通过API换取access_token,openid: 3. 通过access_token和openid进行接口调用,获取用户基本数据资源或帮

微信授权登录(PHP)

微信授权登录(PHP) 微信授权 OAuth2.0授权 微信网页授权 主要是在项目中遇到网页授权登录这个需求,就对此做些总结记录. OAuth2.0授权 OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站.移动或桌面应用上存储的个人信息,而无需将用户名和密码提供给第三方应用.常见微信.QQ登录,省去管理账户的麻烦,也不会造成用户的流失. 打开微信的官方文档,会看到网页授权一些说明.(有点摸不着头脑,主要是当时没能关联起来,微信文档每次看都那么郁闷!!!) 来了解

微信授权登录+微信公众号支付

记录工作备忘 采用TP3.2.3来二开--主要是微信授权登录.js自定义分享.支付+回调 1)先在公众号获取相关配置参数,配置公众号的网页授权域名.js接口域名 // 微信配置参数 'wechat_option' => array( 'appid' => 'w****a769023a', 'appsecret' => 'c****0accc10d19e5f85541b9' ), // 微信支付配置 'WEIXINPAY_CONFIG' => array( 'APPID' =>

[转] Android:微信授权登录与微信分享全解析

https://wohugb.gitbooks.io/wechat/content/qrconnent/refresh_token.html http://blog.csdn.net/xiong_it/article/details/48317527 PS: access_token是微信认证成功和微信平台做交互用的,access_token有2小时有效期.如果access_token过期后,使用refresh_token获得新的access_token.refresh_token的有效期为30

Android:微信授权登录与微信分享全解析

前言 在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应用,于是微信,微博,QQ说了:来来来,你们都可以用我家的帐号登录你家应用,只要你遵循OAuth2.0协议标准就行.于是第三方社交帐号登陆成为了许多新兴应用的选择,由于腾讯官方微信开放平台的在线文档相对最新的SDK有些出入,并且登录相关的文档结构次序有些紊乱,今天就把我的一些经验记录在此,对微信开放平