ios 客戶端微信掃碼登錄

功能概述

掃碼登錄能力,指的是開發(fā)者可在移動應(yīng)用內(nèi)使用此能力,拉取二維碼,用戶使用微信客戶端掃描二維碼后可以登錄此移動應(yīng)用。此能力可被應(yīng)用在多設(shè)備登錄、智能硬件、電視盒子等場景。


scanlogin.gif
iOS掃碼授權(quán)獲得Code流程

步驟一:請求函數(shù)

#import <WechatAuthSDK.h>

/*! @brief 發(fā)送登錄請求,等待WechatAuthAPIDelegate回調(diào)
 *
 * @param appId 微信開發(fā)者ID
 * @param nonceStr 一個隨機(jī)的盡量不重復(fù)的字符串,用來使得每次的signature不同
 * @param timeStamp 時間戳
 * @param scope 應(yīng)用授權(quán)作用域,擁有多個作用域用逗號(,)分隔
 * @param signature 簽名
 * @param schemeData 會在掃碼后拼在scheme后
 * @return 成功返回YES,失敗返回NO
    注:該實現(xiàn)只保證同時只有一個Auth在運(yùn)行,Auth未完成或未Stop再次調(diào)用Auth接口時會返回NO。
 */

- (BOOL)Auth:(NSString *)appId
    nonceStr:(NSString *)nonceStr
   timeStamp:(NSString*)timeStamp
       scope:(NSString *)scope
   signature:(NSString *)signature
  schemeData:(NSString *)schemeData;

步驟二:監(jiān)聽二維碼回調(diào),回調(diào)的時候顯示二維碼

- (void)onAuthGotQrcode:(UIImage *)image;  //得到二維碼

步驟三:用戶確認(rèn)登錄之后回調(diào)authCode

- (void)onAuthFinish:(int)errCode AuthCode:(NSString *)authCode;    //成功登錄

步驟四:使用authCode獲取 access_token,unionid,openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
參數(shù)說明.
參數(shù) 是否必須 說明
appid 應(yīng)用唯一標(biāo)識,在微信開放平臺提交應(yīng)用審核通過后獲得
secret 應(yīng)用密鑰AppSecret,在微信開放平臺提交應(yīng)用審核通過后獲得
code 填寫第三步獲取的authCode參數(shù)
grant_type 填authorization_code
返回說明
正確的返回:
{ 
"access_token":"ACCESS_TOKEN", 
"expires_in":7200, 
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID", 
"scope":"SCOPE",
"unionid":"o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

源碼地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容