微信登陸總結及遇到的問題


  入行IOS開發第一個任務就是做微信登陸。調用微信的SDK接口,遇到一些小細節問題。這里就總結一下吧。

  

  SDK的導入的方式具體可看微信官方文檔

  https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417694084&token=&lang=zh_CN

  SDK接口具體說明

  https://open.weixin.qq.com/cgi-bin/showdocument?action=doc&id=open1419317851&t=0.9033173893112689#scope

 

下面是代碼

第一步:請求CODE

-(void)sendAuthRequest
{ 
     //我這里使用UUID來做state內容
     self.requestState = [NSUUID UUID].UUIDString;
    
   //構造SendAuthReq結構體 
    SendAuthReq* req =[[[SendAuthReq alloc ] init ] autorelease ];
    req.scope = @"snsapi_userinfo" ;
    req.state = self.requestState ;
    //第三方向微信終端發送一個SendAuthReq消息結構
    [WXApi sendReq:req]; 
}
參數說明
參數 是否必須 說明
appid 應用唯一標識,在微信開放平台提交應用審核通過后獲得
scope 應用授權作用域,如獲取用戶個人信息則填寫snsapi_userinfo(什么是授權域?
state 用於保持請求和回調的狀態,授權請求后原樣帶回給第三方。該參數可用於防止csrf攻擊(跨站請求偽造攻擊),建議第三方帶上該參數,可設置為簡單的隨機數加session進行校驗

 

第二步:通過code獲取access_token

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

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

參數說明
參數 是否必須 說明
appid 應用唯一標識,在微信開放平台提交應用審核通過后獲得
secret 應用密鑰AppSecret,在微信開放平台提交應用審核通過后獲得
code 填寫第一步獲取的code參數
grant_type 填authorization_code
第三步:通過access_token調用接口

獲取access_token后,進行接口調用,有以下前提:

  1. 1. access_token有效且未超時;

  2. 2. 微信用戶已授權給第三方應用帳號相應接口作用域(scope)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM