RADIUSdesk

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
2022:bootstrap_dynamic_keys [2022/06/05 14:04] – [Coova Chilli] admin2022:bootstrap_dynamic_keys [2022/06/05 14:43] (current) – [Introduction] admin
Line 1: Line 1:
 ====== Dynamic Keys ====== ====== Dynamic Keys ======
 ===== Introduction ===== ===== Introduction =====
-  * One of the most powerful features of the Login Pages is the Dynamic Keys feature.+  * One of the most powerful features of the Login Pages is the Dynamic Keys.
   * Unfortunately it is also one of the most misunderstood.   * Unfortunately it is also one of the most misunderstood.
   * This dedicated Wiki Page aims to make the aspects around the Dynamic Keys more clear.   * This dedicated Wiki Page aims to make the aspects around the Dynamic Keys more clear.
Line 14: Line 14:
   * With the Coova Chilli configuration we for instance have   * With the Coova Chilli configuration we for instance have
         * nasid = our_internet_cafe_mcp34         * nasid = our_internet_cafe_mcp34
-        * ssid = out_internet_cafe+        * ssid = our_internet_cafe
   * Some settings must be unique to the Coova Chilli instance e.g. nasid.   * Some settings must be unique to the Coova Chilli instance e.g. nasid.
   * Other settings can be more generic and can be common between a couple of Coova Chilli instances e.g. ssid.   * Other settings can be more generic and can be common between a couple of Coova Chilli instances e.g. ssid.
   * If our Login Page have not yet been configured with any Dynamic Keys you will get the following screen.   * If our Login Page have not yet been configured with any Dynamic Keys you will get the following screen.
 +
 +{{:2022:dynamic_keys.png|}}
 +
 +==== Mikrotik ====
 +  * Mikrotik Hotspots works more or less in a similar way.
 +  * If you configure the Mikrotik to use a central login page the replacement login.html page will look something like this
 +<code html>
 +<center>If you are not redirected in a few seconds, click 'continue' below<br>
 +<form name="redirect" action="https://cloud.radiusdesk.com/cake3/rd_cake/dynamic-details/mikrotik-browser-detect" method="post">
 +    <input type="hidden" name="loginlink" value="$(link-login-only)">
 +    <input type="hidden" name="nasid" value="$(identity)">
 +    <input type="hidden" name="link_status" value="$(link-status)">
 +    <input type="hidden" name="link_login_only" value="$(link-login-only)">
 +    <input type="hidden" name="link_logout" value="$(link-logout)">
 +    <input type="hidden" name="mac" value="$(mac-esc)">
 +    <input type="hidden" name="type" value="mikrotik">
 +    <input type="hidden" name="ssid" value="our_internet_cafe">
 +    <input type="submit" value="continue">
 +</form>
 +<script language="JavaScript">
 +<!--
 +   document.redirect.submit();
 +//-->
 +</script>
 +</code>
 +  * Here the Mikrotik will POST some additional data to the CakePHP controller which the controller can then utilize.
 +  * With the Mikrotik you are more in control in terms of that items will be contained in the POST.
 +  * You can even provide your own set of items with the values you choose.
 +  * Like the Coova Chilli pages, the Mikrotik will display a list of available items if the Dynamic Keys have not yet been configured.
 +
 +
 +===== Connecting a Login Page with Captive Portal =====
 +  * The Dynamic Keys are used by RADIUSdesk to determine which Login Page to serve.
 +  * You can make use of any of the listed items and add them as a Dynamic Key to a Login Page.
 +  * Login Pages can also contain multiple Dynamic Keys.
 +  * Lets say you have a very specific login page that should only be shown by one **specific** captive portal you can use the nasid.
 +  * On the other hand if you have for instance a hotel chain and want to use the same page on ALL the captive portals deployed at those hotels you can use a more **generic** item e.g. ssid.
 +  * You can also combine them without any issues.
 +
 +{{:2022:dynamic_keys_specific_generic1.png|}}
 +
 +===== A Final Word On Coova Chilli =====
 +  * You might have noticed that the sample Login Page URL we supplied for Coova Chilli is different from the typical one we specify as a UAM URL.
 +  * The typical one is:  https://cloud.radiusdesk.com/cake3/rd_cake/dynamic-details/chilli-browser-detect/
 +  * What then happens behind the scenes is that the CakePHP Controller will do a redirect to the final Login Page.
 +  * This location is determined by the value of the Theme of the page.
 +  * The Controller also append the language component to the URL's query string e.g. i18n=fr_FR will instruct the page to present itself in French.
 +
 +