1. 程式人生 > >單點登入之第三方登入微信登入

單點登入之第三方登入微信登入

前言:

使用微信登入第三方應用主要是運用在移動端但是鑑於目前微信活躍使用者基數太龐大部分web網站也採用了這個方式

應用案例:

這裡寫圖片描述
這是京東登入,可以看見選擇的登入方式有微信,微信二維碼登陸可以避免輸入密碼,提高安全性.

準備工作

用官方的話來說網站應用微信登入是基於OAuth2.0協議標準構建的微信OAuth2.0授權登入系統.
使用微信登入第三方應用需要通過微信開放平臺註冊帳號並且應用網站通過稽核
微信和qq支援的OAuth2.0模式一樣都是authorization_code模式.
該模式整體流程為:

  1. 第三方發起微信授權登入請求,微信使用者允許授權第三方應用後,微信會拉起應用或重定向到第三方網站,並且帶上授權臨時票據code引數;
  2. 通過code引數加上AppID和AppSecret等,通過API換取access_token;
  3. 通過access_token進行介面呼叫,獲取使用者基本資料資源或幫助使用者實現基本操作。

這裡寫圖片描述

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": "o6_bmasdasdsad6_2sgVt7hMZOPfL" }

step3:通過access_token呼叫介面
獲取access_token後,進行介面呼叫,有以下前提:
1. access_token有效且未超時;
2. 微信使用者已授權給第三方應用帳號相應介面作用域(scope)。