**目錄 (Table of Contents)**
[TOC]
## OAuth2.0 微信端靜默登錄
```PHP
$wxConfigure = new WechatConfig();
$wxConfigure->setParameter("appid",YOURAPPID);
$wxConfigure->setParameter("appsecret",YOURSECRET);
$wxConfigure->setParameter("callback",CALLBACK);
// 假設您已經獲取了ACCESS_TOKEN
// 如果沒有獲取,可以查看5.2章節 該憑證通過 WechatServerApi -> getAccessToken 獲取
// 并存放在數據庫中,維護token的有效期
$wxConfigure->setParameter("access_token",ACCESS_TOKEN);
$OAuthApi = new OAuthApi($wxConfigure);
// 如果首次沒有拿到Code,先獲取Code
// SPA應用直接在前端獲取調轉地址,使用location.href完成跳轉
if(!isset($_GET['code']) && empty($_GET['code']))
{
// PAGE_URL 是當前處理函數的路由
$redirectUri = $OAuthApi->createOauthUrlForCode(PAGE_URL);
header("location:{$redirectUri}");
exit;
}
// 獲取 openid
$openid = $OAuthApi->getOpenId($_GET['code']);
// 這里必須使用通用API憑證access_token,不能使用授權憑證access_token
$wechatUserInfo = $OAuthApi->getWechatUserInfo(ACCESS_TOKEN,$openid['openid']);
// $wechatUserInfo 就是微信服務器返回來的微信用戶數據對象
// 可以通過$wechatUserInfo->toArray() 轉換為數組
// 該對象是 WechatUser對象,可以參考 4.8.1 章節
// 操作本地數據庫,完成登錄后續工作,如存儲session,未注冊提示注冊等
```
- 1、序言
- 1.1、更新說明
- 1.2、更新計劃
- 2、開始使用 Endor
- 3、目錄結構
- 4、類說明
- 4.1、WechatConfig
- 4.2、WechatValid
- 4.3、WechatCommon
- 4.4、WechatException
- 4.5、基礎接口
- 4.5.1、ShortUrl
- 4.5.2、WechatServerApi
- 4.6、菜單接口
- 4.6.1、菜單類設計
- 4.6.2、Menu
- 4.6.3、ClickMenu
- 4.6.4、ViewMenu
- 4.6.5、MiniProgramMenu
- 4.6.6、MenuApi
- 4.7、消息接口
- 4.7.1、Receiver
- 4.7.2、Message
- 4.7.3、EventMessage
- 4.7.4、TextMessage
- 4.7.5、ClickEventMessage
- 4.7.6、SubscribeEventMessage
- 4.7.7、UnSubscribeEventMessage
- 4.7.8、LocationEventMessage
- 4.7.9、ImageMessage
- 4.7.10、LinkMessage
- 4.7.11、NewsMessage
- 4.7.12、NewsContext
- 4.8、OAuth2.0權限驗證
- 4.8.1、WechatUser
- 4.8.2、OAuthApi
- 4.9、微信支付接口
- 4.9.1、微信支付類設計
- 4.9.2、PayApi
- 4.9.3、RequestPay
- 4.9.4、ResponsePay
- 4.9.5、UnifiedOrder
- 4.9.6、JsPay
- 4.9.7、Refund
- 4.9.8、Query
- 4.9.9、Bill
- 4.9.10、NotifyData
- 4.9.11、Notify
- 4.10、模板消息接口
- 4.10.1、TemplateContext
- 4.10.2、TemplateMessageApi
- 5、使用場景
- 5.1、微信接入服務器驗證
- 5.2、獲取微信API令牌(access_token)
- 5.3、獲取JS API
- 5.4、OAuth2.0靜默登錄
- 5.5、微信菜單
- 5.6、微信消息
- 5.7、微信支付
- 5.7.1、微信公眾號內JsApi支付
- 5.7.2、Native 模式二 掃碼支付
- 5.8、模板消息發送