code换取微信openid_JSamp;微信_微信授权
微信api
授權demo
獲取openid --- snsapi_base
獲取用戶信息 --- snsapi_userinfo
1.前置條件
服務號(企業) -- 通過微信認證
可以在微信公眾平臺-開發-接口權限查看
需要先配置一下授權回調域名(只能配置一個)
開發 - 接口權限 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息
請注意,這里填寫的是域名(是一個字符串),而不是URL,因此請勿加?http://?等協議頭;
2.步驟
除了步驟一,其他都必須由后臺請求
由于公眾號的secret和獲取到的access_token安全級別都非常高,必須只保存在服務器,不允許傳給客戶端。后續刷新access_token、通過access_token獲取用戶信息等步驟,也必須從服務器發起。
用戶同意授權,獲取code(可以由前端來做)
通過code換取網頁授權access_token
刷新access_token(如果需要)
拉取用戶信息
3.具體實現(獲取用戶詳細信息snsapi_userinfo)
準備一個空白頁面,在空白頁面進行授權獲取code-用戶授權同意
是否是微信(是則繼續,否則加載實際頁面結束)let ua = navigator.userAgent.toLowerCase(); let isWeixin = ua.indexOf('micromessenger') !== -1;
判斷是否拿到code(是則發起后臺拿到用戶信息步驟并加載實際頁面結束,否則繼續)
3.為了解決只能配置一個授權回調域名,請求后臺做一個中間層
文檔
需要在分享的時候清空授權返回的code,僅需要分享的鏈接清空!獲取后臺分享配置的不需要!
5.為了防止用戶獲取到授權后刷新頁面code過期重復獲取用戶信息問題可以利用sessionStorage存儲一個標識進行識別
讓后臺傳一個微信統一授權地址,本地跳轉到后臺指定的路徑
后臺指定的路徑去跳轉到微信授權
同意授權后在跳回實際頁面
4.為了防止分享的時候獲取不到下一個人的授權信息
總結
以上是生活随笔為你收集整理的code换取微信openid_JSamp;微信_微信授权的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】选取二维列表的第一列
- 下一篇: 校验json格式_不来学一下Spring