微信的OAuth2授權(quán)

參考資料

什么是OAuth?

OAuth允許用戶提供一個(gè)令牌组底,而不是用戶名和密碼來(lái)訪問(wèn)他們存放在特定服務(wù)提供者的數(shù)據(jù)肪凛。每一個(gè)令牌授權(quán)一個(gè)特定的網(wǎng)站(例如毁涉,視頻編輯網(wǎng)站)在特定的時(shí)段(例如送火,接下來(lái)的2小時(shí)內(nèi))內(nèi)訪問(wèn)特定的資源(例如僅僅是某一相冊(cè)中的視頻)烈钞。這樣,OAuth允許用戶授權(quán)第三方網(wǎng)站訪問(wèn)他們存儲(chǔ)在另外的服務(wù)提供者上的信息捎拯,而不需要分享他們的訪問(wèn)許可或他們數(shù)據(jù)的所有內(nèi)容泪幌。

微信授權(quán)步驟

微信公眾平臺(tái)OAuth2.0授權(quán)詳細(xì)步驟如下:

  1. 用戶關(guān)注微信公眾賬號(hào)。
  2. 微信公眾賬號(hào)提供用戶請(qǐng)求授權(quán)頁(yè)面URL署照。
  3. 用戶點(diǎn)擊授權(quán)頁(yè)面URL祸泪,將向服務(wù)器發(fā)起請(qǐng)求
  4. 服務(wù)器詢問(wèn)用戶是否同意授權(quán)給微信公眾賬號(hào)(scope為snsapi_base時(shí)無(wú)此步驟)
  5. 用戶同意(scope為snsapi_base時(shí)無(wú)此步驟)
  6. 服務(wù)器將CODE通過(guò)回調(diào)傳給微信公眾賬號(hào)
  7. 微信公眾賬號(hào)獲得CODE
  8. 微信公眾賬號(hào)通過(guò)CODE向服務(wù)器請(qǐng)求Access Token
  9. 服務(wù)器返回Access Token(網(wǎng)頁(yè)授權(quán)接口調(diào)用憑證)和OpenID(用戶的唯一標(biāo)識(shí))給微信公眾賬號(hào)
  10. 微信公眾賬號(hào)通過(guò)Access Token向服務(wù)器請(qǐng)求用戶信息(scope為snsapi_base時(shí)無(wú)此步驟)
  11. 服務(wù)器將用戶信息回送給微信公眾賬號(hào)(scope為snsapi_base時(shí)無(wú)此步驟)

操作實(shí)例

在開(kāi)發(fā)者中心-開(kāi)發(fā)者ID中,可以找到AppId和AppSecret建芙。
請(qǐng)求授權(quán)頁(yè)面的URL

var url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + appId + '&redirect_uri=' + redirect_uri + '&response_type=code&scope=snsapi_base&state=' + location + '#wechat_redirect';
  • appid 公眾號(hào)的唯一標(biāo)識(shí)
  • redirect_uri 授權(quán)后重定向的回調(diào)鏈接地址
  • response_type 返回類型没隘,請(qǐng)?zhí)顚?xiě)'code'
  • scope 應(yīng)用授權(quán)作用域,snsapi_base (不彈出授權(quán)頁(yè)面禁荸,直接跳轉(zhuǎn)右蒲,只能獲取用戶openid)阀湿,snsapi_userinfo (彈出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱瑰妄、性別陷嘴、所在地。并且间坐,即使在未關(guān)注的情況下灾挨,只要用戶授權(quán),也能獲取其信息)
  • state(可選) 重定向后會(huì)帶上state參數(shù)竹宋,開(kāi)發(fā)者可以填寫(xiě)任意參數(shù)值
  • #wechat_redirect(可選) 直接在微信打開(kāi)鏈接劳澄,可以不填此參數(shù)。做頁(yè)面302重定向時(shí)候蜈七,必須帶此參數(shù)

即點(diǎn)擊鏈接后,發(fā)起OAuth2授權(quán)請(qǐng)求,提交公眾平臺(tái)的appid,重定向鏈接response_type,當(dāng)前鏈接state
授權(quán)成功后,跳轉(zhuǎn)到重定向鏈接并get傳參獲取code和此前自定義的state

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
  • appid 公眾號(hào)的唯一標(biāo)識(shí)
  • secret 公眾號(hào)的appsecret
  • code 填寫(xiě)第一步獲取的code參數(shù)
  • grant_type 填寫(xiě)為authorization_code

調(diào)用api即可獲取access_token(如為snsapi_userinfo)和openid,再調(diào)用api獲取用戶信息

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

注意snsapi_base時(shí)只到openid即截止,無(wú)法獲得access_token及用戶信息(昵稱性別所在地頭像)等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秒拔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子宪潮,更是在濱河造成了極大的恐慌溯警,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狡相,死亡現(xiàn)場(chǎng)離奇詭異梯轻,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)尽棕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)喳挑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人滔悉,你說(shuō)我怎么就攤上這事伊诵。” “怎么了回官?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵曹宴,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我歉提,道長(zhǎng)笛坦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任苔巨,我火速辦了婚禮版扩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侄泽。我一直安慰自己礁芦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著柿扣,像睡著了一般肖方。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上未状,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天窥妇,我揣著相機(jī)與錄音,去河邊找鬼娩践。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烹骨,可吹牛的內(nèi)容都是我干的翻伺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼沮焕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吨岭!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起峦树,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤辣辫,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后魁巩,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體急灭,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年谷遂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葬馋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肾扰,死狀恐怖畴嘶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情集晚,我是刑警寧澤窗悯,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站偷拔,受9級(jí)特大地震影響蒋院,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜条摸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一悦污、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钉蒲,春花似錦切端、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)昌屉。三九已至,卻和暖如春茵瀑,著一層夾襖步出監(jiān)牢的瞬間间驮,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工马昨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留竞帽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓鸿捧,卻偏偏與公主長(zhǎng)得像屹篓,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匙奴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容