wifi免密碼登陸認證流程

 

您查詢的關鍵詞是: weixin: , qr gex_zm- 如下是該網頁在北京時間 2016年03月27日 02:46:42 的快照;

若是打開速度慢,能夠嘗試快速版;若是想保存快照,能夠添加到蒐藏;若是想更新或刪除快照,能夠投訴快照javascript

百度和網頁  http://c.anywifi.com/wiki/user/auth.html 的做者無關,不對其內容負責。百度快照謹爲網絡故障時之索引,不表明被搜索網站的即時頁面。
 

用戶登錄接口

[Access Authorization]

 在咱們的設備固件製做過程當中咱們使用了與大多數電信運營商相同的 Portal認證 技術其中系統架構上主要由 AP無線訪問接入點(Wireless Access Point)AC接入控制器(Wireless Access Point Controller)認證頁面服務器(Captive Portal Server)認證計費服務器(Cloud Radius Server)構成而在雲端咱們完成了Portal頁面的雲存儲Captive Portal頁面在線編輯Portal靜態文件CDN加速以及上網用戶數據的分析展現同時radius服務器也經過Oauth2.0協議與第三方帳戶系統的打通。html

Portal認證:java

portal authentication

您須要作什麼?

您只須要完成 Portal頁面 與 AC接入控制器(路由器) 的局域網通訊便可而在路由器固件中咱們配置的 Radius客戶端 將代替網絡接入請求者向 認證計費服務器 發送認證請求返回認證結果。android

Portal頁面 與 AC接入控制器(路由器) 之間的通訊是經過json Api 完成的爲了方便您的快速開發咱們提供了Javascript Library您只須要引入制定JS文件經過簡單的編寫Javascript代碼便可自定義您的帳戶認證而這一切均可以經過 在線編輯代碼 完成。web

您應該怎樣去作?

1、 編輯認證頁面模板引入JS文件ajax

<script src="http://s.anywifi.com/resources/anywifiLibrary.js"></script>

注意:請不要下載保存該文件咱們將不按期更新完善該Library.json

2、 幾種經常使用認證方式api

一、匿名登錄(訪客模式)瀏覽器

匿名登錄接口函數:anonymousLogin();服務器

在上網用戶未經過認證前能夠經過 訪客模式 獲取短暫的網絡接入權限或者您只須要訪客 點擊某連接便可上網 在這裏便可使用匿名登錄實現(匿名登錄獲取的網絡接入 時常帶寬 都可在管理平臺上網用戶-用戶組 中進行設置)。

示例

<!doctype html>
<html>
<head>
<title>{title}</title>
<script src="http://s.anywifi.com/resources/anywifiLibrary.js"></script>
</head>
<body>
<a href="anonymousLogin();">匿名登錄</a>
<p>點擊上面連接便可免費上網。</p>
</body>
</html>

固然你也能夠利用JS的定時器來顯示打開頁面(點擊按鈕)N秒後自動登錄效果以下:

WIFI倒計時自動登錄

代碼以下:

<!doctype html>
<html>
<head>
<title>{title}</title>
<script src="http://s.anywifi.com/resources/anywifiLibrary.js"></script>
<script type="text/javascript">
function timer(){
   var i = 10;
   $("#dt2").show();
   $("#dt1").hide();
   var ttt = window.setInterval(function(){
            i--;
            $("#time").html(i);
            if(i==0){
                   clearInterval(ttt);
                   anonymousLogin();
            }
        }, 1000);
}
</script>
</head>
<body>
<dl>
    <dt id="dt1">
        <a href="javascript:void(0)" onclick="timer();"><span>1</span><span>點擊試用免費WIFI</span></a>
    </dt>
    <dt id="dt2" style="display:none;">
        <a href="javascript:void(0)"><span>1</span><span>上網配置中<em  id="time">10</em></span></a>
    </dt>
</dl>
</body>
</html>

二、微信登錄

微信登錄接口地址:http://c.anywifi.com/api/weixinlogin?uid=<平臺帳戶UID>(「<平臺帳戶UID>」須要 <a "http:="" c.anywifi.com="" user="" login.html"="" target="_blank">登錄平臺 後顯示)

上述微信登錄接口地址適用於在上網 認證頁面 提示用戶 關注某微信帳戶而後微信帳戶在用戶關注後自動回覆 該地址連接用戶使用微信點擊此連接時則將自動調用JS微信登錄接口函數完成 微信一鍵關注上網 若是不是在微信中訪問的此API地址則將會出現請打開微信客戶端的 提示

微信一鍵關注上網

微信一鍵關注上網登錄成功    微信一鍵關注上網登錄失敗

微信登錄接口函數:webchatLogin();

獲取頁面推廣微信帳戶:http://c.anywifi.com/api/weixinname?nasid=[NASID](NASID 參數能夠從URL的GET查詢字符串中獲取)

微信登錄接口函數 是區別於 匿名登錄接口的主要是由於管理平臺能夠對兩種用戶組分別設置不一樣的 時常帶寬組別屬性微信登錄接口咱們一般利用微信瀏覽器的UA( 微信瀏覽器User-Agent )的特殊性來判斷是不是在微信瀏覽器中點擊此連接查看此頁面決定是否予以網絡接入上面提到的 微信關注一鍵上網接口 就是採用該思路實現的。

示例

<!doctype html>
<html>
<head>
<title>{title}</title>
<script src="http://s.anywifi.com/resources/anywifiLibrary.js"></script>
<script type="text/javascript">
//經過查詢字符串中的NASID判斷查詢該設備認證頁面須要推廣的微信帳號
var nasId = getQueryString('nasid');
ajaxLoad("GET","http://c.anywifi.com/api/weixinname?nasid="+nasId+"&t="+Math.random(),function(){
	if (xmlhttp.readyState==4 && xmlhttp.status==200){
		getel('wx_name').innerHTML = xmlhttp.responseText;
	}
});
});
</script>
</head>
<body>
<div class="gridContainer clearfix" id="forpc" style="display:none;">
  <div id="div1" class="fluid wrapper test transition">
  	<h1 id="logo" class="test"><img class="lo_ico" src="http://s.anywifi.com/resources/template/1/webchatonekeylogin/warnico.png"></h1>
  	<div class="notecont transition">
      <h2>WebChat Only</h2>
      <a class="golink" href="weixin://qr/gEx_Zm-EdTlKrSsF9xmS">關注微信<span id="wx_name"></span>認證上網</a>
  	</div>
  </div>
</div>
<div class="gridContainer clearfix" id="forweixin" style="display:none;">
  <div id="div1" class="fluid wrapper test transition">
  	<h1 id="logo" class="test"><img class="lo_ico" src="http://s.anywifi.com/resources/template/1/webchatonekeylogin/successico.png"></h1>
  	<div class="notecont transition">
      <h2>登錄成功</h2>
  	</div>
  </div>
</div>
<script type="text/javascript">
//根據UA判斷
var ua = navigator.userAgent.toLowerCase();
var url = window.location.href;
if(ua.indexOf("android")!=-1 || ua.indexOf("iphone")!=-1 || ua.indexOf("ipad")!=-1 || ua.indexOf("phone")!=-1){ //mobile end
    //micromessenger
    if(ua.indexOf("micromessenger")!=-1){
        getel('forweixin').style.display='block';
        setTimeout("webchatLogin()",2000);
    }else {
        getel('forpc').style.display='block';
    }
}else{
    getel('forpc').style.display='block';
}
</script>
</body>
</html>

三、手機號碼登錄

手機號登錄接口函數:userLogin(mobilephone,password);

獲取登錄驗證碼:http://c.anywifi.com/api/mobilephone?nasid=[NASID]&mobilephone=[MOBILEPHONE]&mac=[MAC]&ap=[AP]
      (其中NASID、MOBILEPHONE、MAC、AP參數都可從表單或者查詢字符串中獲取)

使用手機號碼做爲帳號登錄上網用戶須要填寫 手機號碼經過請求獲取手機號碼驗證密碼而後填入 驗證密碼 便可登錄(獲取驗證密碼須要下行短信註冊帳戶默認贈送50條能夠經過平臺帳戶購買短信上網用戶手機號碼信息能夠從後臺瀏覽查看)

手機號碼登錄

手機號碼登錄

示例代碼

<!doctype html>
<html>
<head>
<title>{title}</title>
<script src="http://s.anywifi.com/resources/anywifiLibrary.js"></script>
<script type="text/javascript">
//登錄按鈕
function doLogin(){
	userLogin(getel("phone").value,getel("code").value);
};
//獲取短信驗證密碼
function getPhoneCode(){
    var nasId = getQueryString('nasid');
    var mac = getQueryString('mac');
    var ap = getQueryString('called');
    var mobilePhone = getel("phone").value;
    if(/^1\d{10}$/g.test(mobilePhone)){
        ajaxLoad("GET","http://"+adminDomain+"/api/mobilephone?nasid="+nasId+"&mobilephone="+mobilePhone+"&mac="+mac+"&ap="+ap+"&t="+Math.random(),function(){
            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                if(xmlhttp.responseText=="SUCCESS"){
                    alert('短信驗證碼已發送');
                }else if(xmlhttp.responseText=="OVERLOAD"){
                    alert('短信發送中,請稍等...');
                }else{
                    alert(xmlhttp.responseText);
                }
            }
        });
    }else{
        alert('手機號碼格式不正確');
        getel("phone").value = '';
    }
}
</script>
</head>
<body>
  <div >
    <input type="text" id="phone"  placeholder="輸入手機號" />
    <button id="codeButton" onclick="getPhoneCode();" >獲取驗證碼</button>
  </div>
  <div >
    <input type="text" id="code"  placeholder="輸入驗證碼" />
    <button id="accordion-longinBtn2" onclick="doLogin();" >登 錄</button>
  </div>
</body>
</html>
相關文章
相關標籤/搜索