欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

IOS怎樣實現(xiàn)微信授權(quán)登錄功能-創(chuàng)新互聯(lián)

這篇文章主要介紹IOS怎樣實現(xiàn)微信授權(quán)登錄功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、和靜網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計商城網(wǎng)站定制開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為和靜等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

微信是一個在開發(fā)中經(jīng)常會使用到的平臺,比如微信登錄、授權(quán)、支付、分享。今天我們來看看如何在自己的應(yīng)用里面集成微信授權(quán)。

1、微信授權(quán)的定義

微信OAuth3.0授權(quán)登錄讓微信用戶使用微信身份安全登錄第三方應(yīng)用或網(wǎng)站,在微信用戶授權(quán)登錄已接入微信OAuth3.0的第三方應(yīng)用后,第三方可以獲取到用戶的接口調(diào)用憑證(access_token),通過access_token可以進行微信開放平臺授權(quán)關(guān)系接口調(diào)用,從而可實現(xiàn)獲取微信用戶基本開放信息和幫助用戶實現(xiàn)基礎(chǔ)開放功能等。

2、微信授權(quán)的步驟

第三方發(fā)起微信授權(quán)登錄請求,微信用戶允許授權(quán)第三方應(yīng)用后,微信會拉起應(yīng)用或重定向到第三方網(wǎng)站,并且?guī)鲜跈?quán)臨時票據(jù)code參數(shù);

通過code參數(shù)加上AppID和AppSecret等,通過API換取access_token;

通過access_token進行接口調(diào)用,獲取用戶基本數(shù)據(jù)資源或幫助用戶實現(xiàn)基本操作。

3、準備工作

在做微信授權(quán)登錄之前我們需要做一些準備工作。

具體的直接看微信開發(fā)者文檔就可以了,地址如下:iOS接入指南

除了微信開發(fā)者文檔中提到的幾點,還有幾個地方需要注意

3.1、更改plist文件如下

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

App Transport Security Setting設(shè)置

iOS9中新增App Transport Security(簡稱ATS)特性, 主要使到原來請求的時候用到的HTTP,都轉(zhuǎn)向TLS1.2協(xié)議進行傳輸。這也意味著所有的HTTP協(xié)議都強制使用了HTTPS協(xié)議進行傳輸。需要在Info.plist新增一段用于控制ATS的配置:

<key>NSAppTransportSecurity</key>
<dict>
 <key>NSAllowsArbitraryLoads</key>
 <true/>
</dict>

這樣就可以允許HTTP傳輸了

4、微信授權(quán)第一步:獲取code

我們假設(shè)在界面上有一個按鈕,用戶點擊該按鈕,就會發(fā)起微信授權(quán)操作。

那么代碼如下:

-(IBAction)sendAuthRequest
{ 
 //構(gòu)造SendAuthReq結(jié)構(gòu)體 
 SendAuthReq* req =[[[SendAuthReq alloc ] init ] autorelease ];
 req.scope = @"snsapi_userinfo" ;
 req.state = WXPacket_State ;//用于在OnResp中判斷是哪個應(yīng)用向微信發(fā)起的授權(quán),這里填寫的會在OnResp里面被微信返回
 //第三方向微信終端發(fā)送一個SendAuthReq消息結(jié)構(gòu)
 [WXApi sendReq:req]; 
}

4.1、參數(shù)說明

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

4.2、拉起微信授權(quán)頁面

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

4.3、返回結(jié)果說明

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

5、微信授權(quán)第二步:通過code獲取access_token,openid,unionid

獲取第一步的code后,請求以下鏈接獲取access_token,openid,unionid:

https://api.weixin.qq.com/sns/oauth3/access_token?

appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

通過上一步拉起微信授權(quán)頁面,用戶點擊確認登錄,成功之后,就會調(diào)用微信代理中的回調(diào)函數(shù)OnResp函數(shù),我們可以在該函數(shù)里面獲取access_token,openid,unionid

在AppDelegate.m文件中實現(xiàn)代碼如下:

//微信代理方法
- (void)onResp:(BaseResp *)resp
{
  SendAuthResp *aresp = (SendAuthResp *)resp;
  if(aresp.errCode== 0 && [aresp.state isEqualToString:WXPacket_State])
  {
   NSString *code = aresp.code;
   [self getWeiXinOpenId:code];
  }
}
//通過code獲取access_token,openid,unionid
- (void)getWeiXinOpenId:(NSString *)code{
 NSString *url =[NSString stringWithFormat:@"https://api.weixin.qq.com/sns/oauth3/access_token?appid=%@&secret=%@&code=%@&grant_type=authorization_code",AppId,AppSerect,code];
 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
  NSURL *zoneUrl = [NSURL URLWithString:url];
  NSString *zoneStr = [NSString stringWithContentsOfURL:zoneUrl encoding:NSUTF8StringEncoding error:nil];
  NSData *data = [zoneStr dataUsingEncoding:NSUTF8StringEncoding];
  dispatch_async(dispatch_get_main_queue(), ^{
   if (data){
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    NSString *openID = dic[@"openid"];
    NSString *unionid = dic[@"unionid"];
   }
  });
 });
}

5.1返回說明:

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

5.2、刷新access_token有效期

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

5.2.1、返回說明

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

6、微信授權(quán)第三步:通過access_token獲取個人信息

6.1、接口說明

此接口用于獲取用戶個人信息。開發(fā)者可通過OpenID來獲取用戶基本信息。特別需要注意的是,如果開發(fā)者擁有多個移動應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號,可通過獲取用戶基本信息中的unionid來區(qū)分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號,用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應(yīng)用,unionid是相同的。請注意,在用戶修改微信頭像后,舊的微信頭像URL將會失效,因此開發(fā)者應(yīng)該自己在獲取用戶信息后,將頭像圖片保存下來,避免微信頭像URL失效后的異常情況。

請求接口

http請求方式: GET

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

參數(shù)和返回數(shù)據(jù)說明

IOS怎樣實現(xiàn)微信授權(quán)登錄功能

以上是“IOS怎樣實現(xiàn)微信授權(quán)登錄功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站aaarwkj.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章名稱:IOS怎樣實現(xiàn)微信授權(quán)登錄功能-創(chuàng)新互聯(lián)
分享URL:http://aaarwkj.com/article46/ccddhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈靜態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
国产日本韩国三级在线| 91高清国产最新地址| 日本欧美一区二区精品| 日韩人妻熟妇中文字幕| 日韩午夜免费一区二区蜜桃| 日韩精品在线观看你懂的| 亚洲伊人成综合人影院| 三欲一区二区三区中文字幕| 精品国产一区二区日韩91| 亚洲ve中文字幕久久一区二区| 日韩精品一二区电影| 精品人妻一区二区三区观看| 中文字幕日韩激情欧美一区| 国产精品国产自产拍高清| 四虎影视国产精品久久| 亚洲国产av永久精品成人| 亚洲欧美日韩精品二区| 国产欧美日韩综合一区| 三级久久三级久久三级| 中文字幕成人免费看片| 色婷婷国产精品久久包臀| 在线观看国产高清自拍| 免费国产成人在线视频| 久激情内射婷内射蜜桃| 精品亚洲第一区二区免费在线| 国产自拍最新在线视频| 五月激情开心久久婷婷| 欧美午夜福利视频电影| 人妻熟女一区二区视频| av影片天堂在线观看| 97精品免费在线观看| 美日韩黄色大片免费看| 日韩精品专区中文字幕| 91熟女激情五月综合| 精品亚洲欧美日韩国产| 色偷偷91综合久久噜噜| 婷婷中文字幕在线视频| 伊在人亚洲香蕉精品区| 黄色av网站在线免费| 亚洲av永久精品一区二区三区 | 亚洲男人天堂免费观看|