最近在搞有關微信的項目,也是剛接觸微信沒多久。我在微信訂閱號中需要用戶訪問我們寫好的第三方頁面,但是頁面中需要得到用戶的openid做業務邏輯,我們的服務器端用的是senparc的開源方案,想用普通url加?的方式傳遞openid但是考慮到安全,所以用到了oauth2.0,看到官方給的介紹不是太明白具體操作過程,哪位大神幫忙具體分析一下這個的操作過程。我主要是不明白中間的用code換取accss_token的操作,還有我的第三方頁面究竟是如何得到openid的,大家多多指點。
第一步,你需要引導用戶訪問這個鏈接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
裡面的參數不用我說了吧,官方文檔上游,主要是這個參數要注意redirect_uri,當用戶訪問這個網頁並點擊同意授權後,微信就會將網頁跳轉到你的回調URL上,並且帶上一個參數,就相當於這種redirect_uri?code= 這種形式 這樣你就拿到CODE了
第二步:通過code換取網頁授權access_token
這個文檔上很清楚,自己去看下,到這裡他返回的數據是這樣
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
這裡面以及有opendid了