Dynamic Keys


  • One of the most powerful features of the Login Pages is the Dynamic Keys.
  • Unfortunately it is also one of the most misunderstood.
  • This dedicated Wiki Page aims to make the aspects around the Dynamic Keys more clear.

Login Page URL

Coova Chilli


  • 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
<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">
<script language="JavaScript">
  • 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.

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.
  • 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.