====== Dynamic Keys ====== ===== Introduction ===== * 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 ==== * When connecting to a Coova Chill based Captive Portal you will be redirected to the UAM URL. * Coova Chilli does this automatically and also formulate the query string that is automatically appended to the UAM URL. * The components and values of the query string is mostly determined by the configuration settings of Coova Chilli. * Here is a sample of the login page with its query string. * https://cloud.radiusdesk.com/login/bootstrap5/index.html?res=notyet&uamip=10.1.0.1&uamport=3990&challenge=fa6f27d215141b0b86f67b423352349a&called=0A-B4-B1-A2-87-AA&mac=68-17-30-D2-AC-AA&ip=10.1.1.0&ssid=our_internet_cafe&nasid=our_internet_cafe_mcp_34&sessionid=164365906100000001&userurl=http%3a%2f%2fdetectportal.firefox.com%2fcanonical.html&md=15CB9AD5DCFB726093B7B99CC4EAF6CC&i18n=fr_FR# * With the Coova Chilli configuration we for instance have * nasid = our_internet_cafe_mcp34 * ssid = our_internet_cafe * 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. * If our Login Page have not yet been configured with any Dynamic Keys you will get the following screen. {{:radiusdesk:login_pages: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
If you are not redirected in a few seconds, click 'continue' below
* 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. {{:radiusdesk:login_pages: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.