微信公眾號開發(fā)中如何進行靜默授權(quán)登錄

微信公眾號開發(fā)中如何進行靜默授權(quán)登錄,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序開發(fā),10多年建站對高空作業(yè)車租賃等多個方面,擁有多年的網(wǎng)站營銷經(jīng)驗。

基本概念:

openid是什么,一個微信號與一個公眾號對應(yīng)一個固定不變的openid。所以一個微信號在一個公眾號下的openid是不變的,如果換了一個對應(yīng)的公眾號,那就是另一個openid了。且只有在微信自帶瀏覽器中打開的項目才可獲取到。

UnionID是什么,如果開發(fā)者擁有多個移動應(yīng)用,網(wǎng)站應(yīng)用,公眾號和小程序,可以通過UnionID來區(qū)分用戶的唯一性,因為只要是同一個微信開發(fā)平臺賬號下的移動應(yīng)用,網(wǎng)站應(yīng)用,公眾號和小程序,用戶的UnionID是唯一的。換句話說,同一個用戶,對同一個微信開發(fā)平臺的不同應(yīng)用,UnionID是唯一的。

準備條件,一個公眾號、一個外網(wǎng)可訪問的域名、該公眾號的AppIDAppSecret、設(shè)置網(wǎng)頁授權(quán)域名(登陸公眾平臺 設(shè)置----->公眾號設(shè)置------>功能設(shè)置----->網(wǎng)頁授權(quán)域名 按步驟操作并設(shè)置就好),這個域名就是你獲取openid的web項目發(fā)布的域名,這里注意服務(wù)器請一定跑在80端口。

第一步,獲取code

// 授權(quán)訪問鏈接
https://open.weixin.qq.com/connect/oauth3/authorize?appid=XXXXXXXX&redirect_uri=http://test-recycle-h6.jxypapp.com&response_type=code&scope=snsapi_base&state=%7B%22id%22%3D%221%22%2C%22name%22%3A%22xiaoming%22%7D#wechat_redirect

// 授權(quán)成功后,重定向鏈接
http://test-recycle-h6.jxypapp.com/?code=0215ZMRH0rVjli29oYTH0exORH05ZMRz&state=%7B%22id%22%3D%221%22%2C%22name%22%3A%22xiaoming%22%7D

參數(shù)解釋:

  • appid: 公眾號appid.

  • redirect_uri: 填寫微信識別成功之后,跳轉(zhuǎn)的url(需要encode編碼)。

  • response_type: 就填code,不用修改。

  • scope: 可填(snsapi_base (靜默授權(quán))和snsapi_userinfo(彈出授權(quán)頁面的授權(quán)方式)兩個值,其中前者為只獲得openid,不需要用戶授權(quán),后者為獲得用戶信息,需要用戶授權(quán))。

  • state: 自定義參數(shù),重定向后會帶上state參數(shù),開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值,最多128字節(jié)(傳json數(shù)據(jù)需要encode編碼)。

  • #wechat_redirect: 指定在微信內(nèi)跳轉(zhuǎn),平時可以不填,在302重定向時,必須填!

注意事項:

  • redirect_uri需要encode編碼,否則頁面會顯示“redirect_ur參數(shù)錯誤!”

  • redirect_uri網(wǎng)址的域名必須是,你在微信公眾平臺賬號中填寫授權(quán)回調(diào)頁的域名,具體需要登錄微信公眾平臺后臺,在用戶信息那里點擊修改,填上自己的域名即可,注意:授權(quán)回調(diào)頁中的域名沒有http://

第二步,獲取 openid

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

參數(shù)解釋:

  • appid :同上

  • secret :同上

  • code :填寫第一步獲取的code參數(shù)

  • grant_type :填寫為authorization_code

注意事項:

  • h6 頁面如果直接調(diào)用次接口,可能存在跨域問題,可以讓后臺調(diào)用此接口

返回結(jié)果:

{ 
"access_token":"ACCESS_TOKEN",    

 "expires_in":7200,    

 "refresh_token":"REFRESH_TOKEN",    

 "openid":"OPENID",    

 "scope":"SCOPE" 
}

第三步,獲取access_token

access_token是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各接口時都需使用access_token。開發(fā)者需要進行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。

接口說明

https請求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

參數(shù)說明

  • grant_type:獲取access_token填寫client_credential

  • appid:第三方用戶唯一憑證

  • secret:第三方用戶唯一憑證密鑰,即appsecret

返回結(jié)果

{"access_token":"ACCESS_TOKEN","expires_in":7200}

第四步,獲取用戶信息

接口調(diào)用請求說明
http請求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

參數(shù)解釋:

  • access_token 調(diào)用接口憑證 ,第三步獲取的access_token

  • openid 普通用戶的標識,對當前公眾號唯一,第二步獲取的openid

  • lang 返回國家地區(qū)語言版本,zh_CN 簡體,zh_TW 繁體,en 英語

{
    "subscribe": 1,  // 是否關(guān)注此公共號,0-未關(guān)注,1-關(guān)注
    "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",  //用戶的標識,對當前公眾號唯一
    "nickname": "Band",  // 用戶的昵稱
    "sex": 1,  //用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知
    "language": "zh_CN",  // 用戶的語言,簡體中文為zh_CN
    "city": "廣州",  // 用戶所在城市
    "province": "廣東",  // 用戶所在省份
    "country": "中國",  // 用戶所在國家
    "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", //用戶頭像
    "subscribe_time": 1382694957, // 用戶關(guān)注時間,為時間戳。如果用戶曾多次關(guān)注,則取最后關(guān)注時間
    "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" ,//只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現(xiàn)該字段。
    "remark": "", // 公眾號運營者對粉絲的備注,公眾號運營者可在微信公眾平臺用戶管理界面對粉絲添加備注
    "groupid": 0, // 用戶所在的分組ID(兼容舊的用戶分組接口)
    "tagid_list":[128,2], 用戶被打上的標簽ID列表
    "subscribe_scene": "ADD_SCENE_QR_CODE", //返回用戶關(guān)注的渠道來源,ADD_SCENE_SEARCH 公眾號搜索,ADD_SCENE_ACCOUNT_MIGRATION 公眾號遷移,ADD_SCENE_PROFILE_CARD 名片分享,ADD_SCENE_QR_CODE 掃描二維碼,ADD_SCENEPROFILE LINK 圖文頁內(nèi)名稱點擊,ADD_SCENE_PROFILE_ITEM 圖文頁右上角菜單,ADD_SCENE_PAID 支付后關(guān)注,ADD_SCENE_OTHERS 其他
    "qr_scene": 98765,
    "qr_scene_str": ""
}

看完上述內(nèi)容,你們掌握微信公眾號開發(fā)中如何進行靜默授權(quán)登錄的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁名稱:微信公眾號開發(fā)中如何進行靜默授權(quán)登錄
本文鏈接:http://bm7419.com/article30/gigjpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、外貿(mào)網(wǎng)站建設(shè)域名注冊、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計