第三方微信登錄功能

希望此篇文章可以對那些沒做過微信登錄的朋友提供一些幫助。接下來我會根據一些步驟依次講解微信登錄。

1.注冊公司app的賬號獲取app ID。

2.集成sdk。

3.調用接口。

對于第一項在此不多講,可以找公司人負責,也可以自己到https://open.weixin.qq.com自己申請。

集成sdk可以到剛才的鏈接地址下載最新的sdk。對于集成時的注意項我在此貼出

這里手寫的操作:$(PROJECT_DIR)/項目名稱/

接口調用

1。 SendAuthReq* req =[[SendAuthReq alloc ] init ];

req.scope = @"snsapi_userinfo,snsapi_base";

req.state = @"123" ;

//第三方向微信終端發送一個SendAuthReq消息結構

[WXApi sendReq:req];

2.發起請求之后,用戶點擊授權后,微信客戶端會被拉起,跳轉至授權界面,用戶在該界面點擊允許或取消,SDK通過SendAuth的Resp返回數據給調用方。數據返回后得到所需的code數據。

3.第二步:通過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

4.刷新access_token有效期

access_token是調用授權關系接口的調用憑證,由于access_token有效期(目前為2個小時)較短,當access_token超時后,可以使用refresh_token進行刷新,access_token刷新結果有兩種:1. 若access_token已超時,那么進行refresh_token會獲取一個新的access_token,新的超時時間。2. 若access_token未超時,那么進行refresh_token不會改變access_token,但超時時間會刷新,相當于續期access_token。

refresh_token擁有較長的有效期(30天),當refresh_token失效的后,需要用戶重新授權。

5.請求方法

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

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

6.接口說明

檢驗授權憑證(access_token)是否有效

請求說明

http請求方式: GET

https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

7.獲取用戶個人信息(UnionID機制)

接口說明

此接口用于獲取用戶個人信息。開發者可通過OpenID來獲取用戶基本信息。特別需要注意的是,如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為只要是同一個微信開放平臺帳號下的移動應用、網站應用和公眾帳號,用戶的unionid是唯一的。換句話說,同一用戶,對同一個微信開放平臺下的不同應用,unionid是相同的。

請求說明

http請求方式: GET

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

返回說明

正確的Json返回結果:

{

"openid":"OPENID",

"nickname":"NICKNAME",

"sex":1,

"province":"PROVINCE",

"city":"CITY",

"country":"COUNTRY",

"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",

"privilege":[

"PRIVILEGE1",

"PRIVILEGE2"

],

"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

然后根據上面得到的數據,和公司服務端進行協商,提供微信登錄的接口。到此微信登錄功能基本結束。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容