網站第三方登陸--微信登陸(填坑)

  按照官方給出的流程進行開發是能夠順利進行受權等操做的。html

 

  但我要說明一下 我開發的項目中 因爲網站不是https協議的 因此在微信的受權經過官方給於的js實現二維碼顯示時遇到如下問題:api

第一個問題:安全

官方步驟微信

步驟1:在頁面中先引入以下JS文件(支持https):

<script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>session

 

步驟2:在須要使用微信登陸的地方實例如下JS對象:

  var obj = new WxLogin({app

                id:"login_container", 網站

                appid: "", spa

                scope: "", code

                redirect_uri: "",orm

                state: "",

                style: "",

                 href: ""});

 參數說明:

id          是    第三方頁面顯示二維碼的容器id
appid    是    應用惟一標識,在微信開放平臺提交應用審覈經過後得到
scope    是    應用受權做用域,擁有多個做用域用逗號(,)分隔,網頁應用目前僅填寫snsapi_login便可
redirect_uri    是    重定向地址,須要進行UrlEncode
state        否    用於保持請求和回調的狀態,受權請求後原樣帶回給第三方。該參數可用於防止csrf攻擊(跨站請求僞造攻擊),建議第三方帶上該參數,可設置爲簡單的隨機數加session進行校驗
style        否    提供"black"、"white"可選,默認爲黑色文字描述。詳見文檔底部FAQ
href         否    自定義樣式連接,第三方可根據實際需求覆蓋默認樣式。詳見文檔底部FAQ

問題來了 href其實只支持https協議的鏈接, 而http協議的鏈接是沒法支持的,由於該接口調用的是微信的https協議獲取的二維碼,在https中調用http是被認爲不安全的。

 

第二個問題:

  在使用了第一種彈出新頁面後受權後 刷新的父級頁面,這裏若是須要用到session得話 就要注意域的有效性了。

相關文章
相關標籤/搜索