php微信網頁授權
❶ 請問一下php如何實現微信掃碼登錄PC網站
php微信掃碼pc端自動登陸羨彎注冊用的介面scope是snsapi_userinfo,微信登陸一個是網兄塵悶頁授權登陸,另一個是微信聯兄遲合登陸
❷ 微信公眾號配置網頁授權域名怎麼設置
1、打開微信公眾平台,輸入賬號密碼登錄後台。
❸ php如何通過cookie獲取微信授權登錄前頁面URl
PHP 的 $_COOKIE 變數用於取回 cookie 的值。
例子:
在下面的實例中,我們取回了名為 "user" 的 cookie 的值,並把它顯示在了頁面上:
<?php
echo$_COOKIE["user"];
print_r($_COOKIE);
?>
同時可以用setcookie() 函數設置 cookie。
語法:
setcookie(name, value, expire, path, domain);
在下面的例子中,我們將創建名為 "user" 的 cookie,並為它賦值 "Alex Porter"。我們也規定了此 cookie 在一小時後過期:
<?php
setcookie("user","AlexPorter",time()+3600);
?>
當刪除 cookie 時,您應當使過期日期變更為過去的時間點。
刪除的實例:
<?php
//
setcookie("user","",time()-3600);
?>
具體而言,登錄授權流程分為四步:
1、引導用戶進入授權頁面同意授權,獲取code
2、通過code換取網頁授權access_token(與基礎支持中的access_token不同)
3、如果需要,開發者可以刷新網頁授權access_token,避免過期
4、通過網頁授權access_token和openid獲取用戶基本信息(支持UnionID機制)
❹ 微信網頁授權基本步驟
一、首先在微信公眾平台配置授權回調地址(「開發 - 介面許可權 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息」的配置選項中,修改授權回調域名);
二、關於網頁授權的兩種scope的區別說明
1、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的用戶的openid的,並且是靜默授權並自動跳轉到回調頁的。用戶感知的就是直接進入了回調頁(往往是業務頁面)
2、以snsapi_userinfo為scope發起的網頁授權,是用來獲取用戶的基本信息的。但這種授權需要用戶手動同意,並且由於用戶同意過,所以無須關注,就可在授權後獲取該用戶的基本信息。
3、用戶管理類介面中的「獲取用戶基本信息介面」,是在用戶和公眾號產生消息交互或關注後事件推送後,才能根據用戶OpenID來獲取用戶基本信息。這個介面,包括其他微信介面,都是需要該用戶(即openid)關注了公眾號後,才能調用成功的。
三、關於網頁授權access_token和普通access_token的區別
1、微信網頁授權是通過OAuth2.0機制實現的,在用戶授權給公眾號後,公眾號可以獲取到一個網頁授權特有的介面調用憑證(網頁授權access_token),通過網頁授權access_token可以進行授權後介面調用,如獲取用戶基本信息;
2、其他微信介面,需要通過基礎支持中的「獲取access_token」介面來獲取到的普通access_token調用。
四、具體而言,網頁授權流程分為四步:
1、 引導用戶進入授權頁面同意授權,獲取code
1)、 scope為snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap
ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_bas
e&state=123#wechat_redirect
scope為snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=
code&scope=snsapi_userinfo&state=STATE#wechat_redirect
code說明 : code作為換取access_token的票據,每次用戶授權帶上的code將不一樣,code只能使用一次,5分鍾未被使用自動過期 。
2、 通過code換取網頁授權access_token
首先請注意,這里通過code換取的是一個特殊的網頁授權access_token,與基礎支持中的access_token(該access_token用於調用其他介面)不同。公眾號可通過下述介面來獲取網頁授權access_token。如果網頁授權的作用域為snsapi_base,則本步驟中獲取到網頁授權access_token的同時,也獲取到了openid,snsapi_base式的網頁授權流程即到此為止。
尤其注意:由於公眾號的secret和獲取到的access_token安全級別都非常高,必須只保存在伺服器,不允許傳給客戶端。後續刷新access_token、通過access_token獲取用戶信息等步驟,也必須從伺服器發起。
請求方法
獲取code後,請求以下鏈接獲取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
3、 刷新access_token(如果需要)
由於access_token擁有較短的有效期,當access_token超時後,可以使用refresh_token進行刷新,refresh_token有效期為30天,當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
4、 拉取用戶信息(需scope為 snsapi_userinfo)
如果網頁授權作用域為snsapi_userinfo,則此時開發者可以通過access_token和openid拉取用戶信息了。
請求方法
http:GET(請使用https協議) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN