2017-01-24 19 views
0

Я пытаюсь создать портал hotspot на Microtik HAP RB951Ui-2nD. Я могу добавить пользователей и удалить их, и это работает отлично, но проблема в том, что я хочу использовать его с проверкой подлинности в facebook в принципе, все должно работать нормально, а apache в моем локальном хосте кажется прекрасно работающим, но когда я действительно использую это в mikrotik функции facebook, что мой логин должен иметь, не существует.Mikrotic Social Login

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>WIFI-KECE</title> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap.css" /> 
    <link rel="stylesheet" type="text/css" href="css/style.css" /> 
</head> 
<body> 
    $(if chap-id) 
     <form name="sendin" action="$(link-login-only)" method="post"> 
      <input type="hidden" name="username" /> 
      <input type="hidden" name="password" /> 
      <input type="hidden" name="dst" value="$(link-orig)" /> 
      <input type="hidden" name="popup" value="true" /> 
     </form> 

     <script type="text/javascript" src="/md5.js"></script> 
     <script type="text/javascript"> 
     <!-- 
      function doLogin() { 
      document.sendin.username.value = document.login.username.value; 
      document.sendin.password.value = hexMD5('$(chap-id)' + document.login.password.value + '$(chap-challenge)'); 
      document.sendin.submit(); 
      return false; 
      } 
     //--> 
     </script> 
    $(endif) 

    <div class="container"> 
     <div class="col-md-offset-4 col-md-4"> 
      <div class="login-box"> 
       <header> 
        <h1>Welcome</h2> 
        <small>Login now! </small> 
       </header> 

       $(if error) <p style="color:#ff0000;text-align:center;"><small>$(error)</small> $(endif) 

       <form class="login" name="login" action="$(link-login-only)" method="post" 
        $(if chap-id) onSubmit="return doLogin()" $(endif)> 
        <input type="hidden" name="dst" value="$(link-orig)" /> 
        <input type="hidden" name="popup" value="true" /> 
        <div class="form-group"> 
         <input class="form-control" name="username" type="text" value="$(username)" placeholder="Username" required/> 
        </div> 
        <div class="form-group"> 
         <input class="form-control" name="password" type="password" placeholder="Password" /> 
        </div> 
        <button type="submit" class="btn btn-default btn-block">LOGIN</button> 

        $(if trial == 'yes') 

        <div class="second-login text-center">Or you can log in a way like our facebook page.</div> 
        <div style="margin: 0 auto; width: 150px;"> 
         <div class="fb-like" data-href="https://www.facebook.com/zeroumit" data-layout="button_count" data-action="like" data-size="large" data-show-faces="false" data-share="true"></div> 
         <div id="fb-root"></div> 
        </div> 
        <script> 
         window.fbAsyncInit = function() { 
          FB.init({ appId: '1271642732875588', 
          status: true, 
          cookie: true, 
          xfbml: true, 
          oauth: true, 
          version: 'v2.5'}); 

          FB.Event.subscribe('edge.create', 
           function(response) { 
            window.location = "$(link-login-only)?dst=$(link-orig-esc)&username=T-$(mac-esc)"; 
           } 
          ); 
          FB.Event.subscribe('edge.remove', 
           function(response) { 
            window.location = "$(link-logout)"; 
           } 
          ); 
         }; 
         (function() { 
         var e = document.createElement('script'); e.async = true; 
         e.src = document.location.protocol + 
         '//connect.facebook.net/en_US/all.js'; 
         document.getElementById('fb-root').appendChild(e); 
         }()); 
        </script> 

        $(endif)  

       </form>      
      </div> 
     </div> 
    </div> 
    <script type="text/javascript" src="js/bootstrap.min.js"></script> 
    <script type="text/javascript" src="js/jquery.min.js"></script> 
    <script type="text/javascript"> 
    <!-- 
     document.login.username.focus(); 
    //--> 
    </script> 
</body> 

Это мой login.html В основном кнопка, как доля и т.д. не существует.

+0

ли что MikroTik использование штучка HTTP (S) для обслуживания вашей страницы? Если нет, вам необходимо адаптировать адрес, из которого загружен SDK (поскольку он использует URL-адрес, относящийся к протоколу, прямо сейчас.) – CBroe

+0

Да, он использует протокол HTTPS. –

+0

Я частично воспользовался этой конфигурацией http://www.hotspotsystem.com/installation-guide-mikrotik-manual –

ответ

0

Вы должны позволить в огороженный сад доменов FB

/ip hotspot walled-garden 
add dst-host=*facebook* action=allow 
add dst-host=*fbcdn* action=allow 
add dst-host=*fb* action=allow 
add dst-host=*akamai* action=allow 
+0

просто тупой вопрос, что бы я заменил в каждом из них **? –

+0

Ну, в зависимости от вашего местоположения есть другие домены для FB, которые вы должны добавить, однако это общие для того, чтобы FB мог воспользоваться вашей горячей точкой. –

+0

Я вставил в огороженный сад несколько доменов FB. Проблема сохраняется. –

1

Вы можете попробовать облако радиус биллинг и социальный логин для MikroTik на www.cloud-hotspot.com