RFC8910/RFC8908 per device API URL - Fixe #607#610
Conversation
|
@gmarsay @sevan It would very be nice to add a field for a Random ID tied to the DHCP lease. Indeed it can be very useful to identify a specific DHCP lease, and identify when a DHCP renew has happened. This allows to do specific action when the user reconnects to the wifi for example, like reopen the captive portal. I can make a PR for that if needed. Thank's a lot for your work! |
|
@pparent76 : With the current implementation, you can pass the following information in the URL: the user's MAC address, IP address, NAS ID, and Coova session ID. I believe that all this information combined allows you to identify a user via their MAC address and see that their session has changed, indicating a reconnection to the hotspot. I'm struggling to see what a unique identifier could add; do you have a concrete example? |
The simple example that I currently do with a modified version of Coova-chilli, is the ability to do an action like re-openin the captive portal, when the user physically disconnect and re-connect to the Wifi network, or change AP. It may perfectly well keep the same Coova session, IP and MAC, but it will have to make a new DHCP request. So an ID linked to the DHCP lease, that is a random string that change for every DHCP reply, is essential to do this type of action. If this parameter cannot be added I'll have unfortunately to keep running a patched version of Coova-chilli, but I can live with it! ;) Thank you so much for your work! |
|
@pparent76 : Thank you, I understand better now. |
|
Yes, well I can't reuse my patch as is (because it was made before your work that is more generic and better). But I can certainly make a new PR, that simply adds the a new parameter to your work, I will try to do that next week. Thank you! |
To improve the implementation of RFC8908 and RFC8910, placeholders have been added to allow passing parameters that determine the client's identity.
Supported placeholders:
%{m}: client MAC (colon-separated)%{M}: client MAC (hex, no separators)%{i}: client IPv4%{n}: NAS-ID (URL-encoded)%{s}: Chilli session ID (RADIUS Acct-Session-Id)