APP開發,微信第三方登錄的介紹


去年做了一陣APP相關的開發,經常遇到第三方登陸的需求,比如微信、微博、fb的第三方登陸等等,其實主要的流程都大同小異,這里就以微信為例來介紹,希望對大家有幫助。

微信開放平台(open.weixin.qq.com)

  1. 注冊開發者賬號,填寫基本信息,例如郵箱,郵箱激活
  2. 完善開發者的資料,包括真實姓名,手機,地址等
  3. 騰訊審核開發者資質,審核費用每年300
  4. 在管理中心創建應用,分移動應用、網站應用等不同類型
  5. 填寫應用的名稱、簡介、logo、應用的官方網站等信息
  6. 騰訊審核,7個工作日
  7. 通過后可獲得該應用的APPID、AppSecret
  8. 並且可在應用詳情中申請開通微信登錄、微信支付等

調用流程

1. 獲取授權碼(code)

1.1. 移動應用調用SDK
1.2. 網站應用調用

https://open.weixin.qq.com/connect/qrconnect

並傳入APPID,及重定向地址,生成二維碼地址。用戶使用微信掃描二維碼並同意授權后,跳轉至重定向地址,並且帶來了授權碼。

2. 使用授權碼獲取access_token

2.1. 通過調用

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

返回結果類似如下:


 "access_token":"ACCESS_TOKEN"
 "expires_in":7200
 "refresh_token":"REFRESH_TOKEN",
 "openid":"OPENID"
 "scope":"SCOPE",
 "unionid""UNIONID"
}

2.2. access_token有效期
有效期較短(2小時),refresh_token有效期一個月,可以使用refresh_token刷新access_token,避免頻繁要求用戶同意授權。

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

2.3. 多個應用的情況
如果同時有多個應用,同一個微信用戶在不同的應用上登錄會生成不同的openid,但unionid相同,若需要同一微信用戶映射到后台的同一賬戶上,應使用unionid。

3.通過access_token獲取用戶信息(如昵稱等),

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

備注

以上調用步驟可以完全由前端(APP、WEB)完成,不過一般應用后台有自己的一套用戶系統,所以應用后台可以在不同的步驟介入,例如可以在前端活動用戶信息后調用后台進行入庫保存,或者也可已在獲得access_token后介入,由后台訪問微信獲取用戶信息。

好了,今天就先到這兒,cheers!



送書了,送書了,沒有套路,沒有套路,關注公眾號“程序員雜書館”,就送出O'Reilly《Spark快速大數據分析》紙質書(亦有一批PDF分享)!


免責聲明!

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



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