忙忙碌碌一個(gè)月趴捅,忘記更新文章了套硼,今天補(bǔ)上卡辰。
前言:
微信登錄集成可以參考微信開(kāi)放平臺(tái)移動(dòng)應(yīng)用接入指南與微信github開(kāi)源Demo,介紹的都很詳細(xì)邪意。本文簡(jiǎn)單介紹一下集成過(guò)程看政,及需要注意的地方(在最后哦)。
微信開(kāi)放平臺(tái):http://open.weixin.qq.com
github地址:http://github.com/Tencent/WeDemo
一抄罕、準(zhǔn)備工作
1.在微信·開(kāi)放平臺(tái)申請(qǐng)微信開(kāi)放平臺(tái)微信登錄AppID允蚣、AppSecret
如AppID:wx9740xxxxxxxxxxxx
AppSecret:53495fb2e31dxxxxxxxxxxxxxxxxxxxx
2.下載iOS微信SDK將SDK添加到工程目錄中
3.添加依賴的庫(kù)文件
4.添加URL Type
5.添加URL Schemes白名單
二、集成工作
通用流程:
1.向微信注冊(cè)app呆贿;
2.應(yīng)用內(nèi)觸發(fā)登錄嚷兔;
3.打開(kāi)微信獲取授權(quán)authorization_code
4.使用authorization_code森渐、AppID、AppSecret獲取access_token
5.使用access_token獲取微信部分個(gè)人信息
1.向微信終端程序注冊(cè)第三方應(yīng)用冒晰,并在第三方應(yīng)用實(shí)現(xiàn)從微信返回同衣,在AppDelegate.m中引入"WXApi.h"頭文件。添加如下代碼
2.在控制器中添加登錄代碼壶运,觸發(fā)向微信請(qǐng)求授權(quán)
參數(shù)說(shuō)明
3.添加授權(quán)登錄成功通知耐齐,向微信請(qǐng)求授權(quán)被處理后會(huì)回調(diào)到此方法
4.在控制器中實(shí)現(xiàn)授權(quán)登錄成功之后的回調(diào),授權(quán)登錄成功之后獲取access_token
5.使用access_token獲取微信部分個(gè)人信息蒋情,獲取到用戶信息之后埠况,更新到己方App中登錄用戶的信息即可。
項(xiàng)目微信登錄流程
1.向微信注冊(cè)app
2.應(yīng)用內(nèi)觸發(fā)登錄
3.打開(kāi)微信獲取授權(quán)authorization_code
4.調(diào)用Web服接口上傳authorization_code和AppID棵癣,由Web服發(fā)起對(duì)微信用戶信息的請(qǐng)求辕翰,成功后轉(zhuǎn)為loginUser下發(fā)客戶端
AppSecret是應(yīng)用接口使用密鑰,access_token為用戶授權(quán)第三方應(yīng)用發(fā)起微信接口調(diào)用憑證狈谊,泄露后可能導(dǎo)致應(yīng)用數(shù)據(jù)喜命、用戶數(shù)據(jù)泄露等高風(fēng)險(xiǎn)后果,存儲(chǔ)在客戶端河劝,極有可能被惡意竊取壁榕。
出于安全考慮,項(xiàng)目中微信登錄流程中赎瞎,使用微信推薦的方式护桦,客戶端不持有微信AppSecret,只持有微信AppID用于注冊(cè)應(yīng)用請(qǐng)求授權(quán)煎娇。AppSecret存于Web服務(wù)端二庵,客戶端通過(guò)AppID獲取到微信授權(quán)authorization_code,調(diào)用Web服接口傳給Web服缓呛。通用微信登錄流程中的步驟4催享、5,交由服務(wù)端處理請(qǐng)求微信接口哟绊,獲取微信部分個(gè)人信息因妙,轉(zhuǎn)換為loginUser下發(fā)。