国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程序 微信開發(fā) IOS實現(xiàn)微信授權(quán)登錄功能實例代碼

IOS實現(xiàn)微信授權(quán)登錄功能實例代碼

Mar 27, 2017 pm 02:19 PM
ios

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

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

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

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

第三方發(fā)起微信授權(quán)登錄請求,微信用戶允許授權(quán)第三方應用后,微信會拉起應用或重定向到第三方網(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設置

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

我們假設在界面上有一個按鈕,用戶點擊該按鈕,就會發(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中判斷是哪個應用向微信發(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/oauth2/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/oauth2/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ā)者擁有多個移動應用、網(wǎng)站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區(qū)分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網(wǎng)站應用和公眾帳號,用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。請注意,在用戶修改微信頭像后,舊的微信頭像URL將會失效,因此開發(fā)者應該自己在獲取用戶信息后,將頭像圖片保存下來,避免微信頭像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)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
蘋果iOS 18首版被曝Bug多到飛起:發(fā)熱嚴重 微信延遲 蘋果iOS 18首版被曝Bug多到飛起:發(fā)熱嚴重 微信延遲 Jun 13, 2024 pm 09:39 PM

一年一度的WWDC已經(jīng)結(jié)束,iOS18無疑是大家關(guān)注的一大焦點。目前有許多iPhone用戶都搶先升級到了iOS18,但各種系統(tǒng)Bug讓人難受。有博主表示,升級iOS18要謹慎,因為“Bug多到飛起”。博主表示,如果你的iPhone是主力機,建議不要升級iOS18,因為第一版本的Bug非常多。他還匯總了幾個目前遇到的系統(tǒng)Bug:1、切換圖標樣式卡頓,導致圖標不顯示2、手電筒示寬動畫經(jīng)常丟失3、抖音App上傳不了視頻4、微信消息延遲10s左右推送5、電話偶爾打不出去,顯示黑屏6、發(fā)熱嚴

蘋果重發(fā) iOS / iPadOS 18 Beta 4 更新,版本號升至 22A5316k 蘋果重發(fā) iOS / iPadOS 18 Beta 4 更新,版本號升至 22A5316k Jul 27, 2024 am 11:06 AM

感謝網(wǎng)友吉茵珂絲、xxx_x、番茄炒西紅柿、Terrence、香辣雞腿堡的線索投遞! 7月27日消息,蘋果公司今天面向開發(fā)者,重新發(fā)布了iOS/iPadOS18Beta4更新,內(nèi)部版本號從22A5316j升級到22A5316k,目前尚不清楚兩個Beta4版本更新之間的區(qū)別。已經(jīng)注冊的開發(fā)者可以打開“設置”應用程序,進入“軟件更新”部分,點擊“測試版更新”選項,然后切換iOS18/iPadOS18開發(fā)者測試版設置來選擇測試版。下載并安裝測試版需要與開發(fā)者賬戶關(guān)聯(lián)的AppleID。 7月24日報道,iO

更新 |黑客解釋如何在歐盟以外的 iPad 上安裝 Epic Games Store 和 Fortnite 更新 |黑客解釋如何在歐盟以外的 iPad 上安裝 Epic Games Store 和 Fortnite Aug 18, 2024 am 06:34 AM

更新:Saunders Tech 已將教程上傳到他的 YouTube 頻道(下面嵌入視頻),解釋如何在歐盟境外的 iPad 上安裝 Fortnite 和 Epic Games Store。然而,該過程不僅需要特定的 iO 測試版

蘋果發(fā)布用于同態(tài)加密的開源 Swift 軟件包,已部署在 iOS 18 中 蘋果發(fā)布用于同態(tài)加密的開源 Swift 軟件包,已部署在 iOS 18 中 Jul 31, 2024 pm 01:10 PM

7月31日消息,蘋果公司昨日(7月30日)發(fā)布新聞稿,宣布推出新的開源Swift包(swift-homomorphic-encryption),用于在Swift編程語言中啟用同態(tài)加密。注:同態(tài)加密(HomomorphicEncryption,HE)是指滿足密文同態(tài)運算性質(zhì)的加密算法,即數(shù)據(jù)經(jīng)過同態(tài)加密之后,對密文進行特定的計算,得到的密文計算結(jié)果在進行對應的同態(tài)解密后的明文等同于對明文數(shù)據(jù)直接進行相同的計算,實現(xiàn)數(shù)據(jù)的“可算不可見”。同態(tài)加密技術(shù)可以計算加密數(shù)據(jù),而且不會向操作過程泄露底層的未加

哈趣 K2 投影儀,讓奧運激情與夢想觸手可及 哈趣 K2 投影儀,讓奧運激情與夢想觸手可及 Jul 24, 2024 pm 01:34 PM

在剛剛結(jié)束的歐洲杯決賽中,你是否為自己支持的球隊瘋狂打call?在馬上到來的巴黎奧運會中,你是否也期待能完美捕捉到各賽事的高光時刻?這其中,擁有一臺優(yōu)質(zhì)的觀賽設備至關(guān)重要。哈趣K2投影儀以其高性價比和出色的性能,當之無愧地成為觀賽良選。它不僅具備高亮度、清晰的畫質(zhì),還能提供沉浸式的觀影體驗,讓每一場比賽的精彩瞬間都仿佛近在咫尺。這樣的設備,你是否已經(jīng)心動了呢?它定能讓你在家中也能享受到奧運賽事的激情與夢想。哈趣K2貼心最大的亮點就是它210°的超大角度調(diào)節(jié),無論是天花板還是墻壁,都可以便利觀影。

蘋果 iOS / iPadOS 18 開發(fā)者預覽版 Beta 4 發(fā)布:新增 CarPlay 壁紙、梳理設置選項、增強相機控制 蘋果 iOS / iPadOS 18 開發(fā)者預覽版 Beta 4 發(fā)布:新增 CarPlay 壁紙、梳理設置選項、增強相機控制 Jul 24, 2024 am 09:54 AM

感謝網(wǎng)友香辣雞腿堡、軟媒新友2092483、手寫的從前、DingHao、小星_14、窩窩頭吃大口、非影Q、軟媒新友2168428、Slades、Aaron212、快樂小刺猬、小伯爵、吃魚的小奶貓的線索投遞!【點此直達升級教程】7月24日消息,蘋果今日向iPhone和iPad用戶推送了iOS/iPadOS18開發(fā)者預覽版Beta4更新(內(nèi)部版本號:22A5316j),本次更新距離上次發(fā)布隔了15天。Carplay壁紙?zhí)O果為CarPlay添加了壁紙,涵蓋淺色和深色兩種模式,其壁紙風格類似于iPhon

蘋果 iOS 18'無邊記”應用新特性:擴展 Scenes 功能、引入網(wǎng)格對齊 蘋果 iOS 18'無邊記”應用新特性:擴展 Scenes 功能、引入網(wǎng)格對齊 Jun 02, 2024 pm 05:05 PM

6月1日消息,科技媒體AppleInsider今天發(fā)布博文,表示蘋果將會在iOS18系統(tǒng)中,為“無邊記”(Freeform)應用擴展推出“Scenes”的全新導航功能,并添加對象對齊的新選項?!盁o邊記”應用簡介先簡要介紹下“無邊記”應用,該應用于2022年推出,目前已經(jīng)推出iOS、iPadOS、macOS15以及visionOS版本。蘋果官方介紹如下:“無邊記”是一款讓靈感變?yōu)楝F(xiàn)實的絕佳工具。在支持幾乎所有文件類型的靈活畫布上勾勒項目草圖、設計心情看板或者開始頭腦風暴。借助iCloud,所有看板

iOS 18 新增'已恢復”相冊功能 可找回丟失或損壞的照片 iOS 18 新增'已恢復”相冊功能 可找回丟失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發(fā)布的iOS18、iPadOS18以及macOSSequoia系統(tǒng)為Photos應用增添了一項重要功能,旨在幫助用戶輕松恢復因各種原因丟失或損壞的照片和視頻。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或視頻時,該相冊將自動顯示。"已恢復"相冊的出現(xiàn)為因數(shù)據(jù)庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。用戶只需簡單幾步

See all articles