inverse-inc / packetfence

PacketFence is a fully supported, trusted, Free and Open Source network access control (NAC) solution. Boasting an impressive feature set including a captive-portal for registration and remediation, centralized wired and wireless management, powerful BYOD management options, 802.1X support, layer-2 isolation of problematic devices; PacketFence can be used to effectively secure networks small to very large heterogeneous networks.
https://packetfence.org
GNU General Public License v2.0
1.37k stars 287 forks source link

Implement RFC 8908 Captive Portal API #7040

Open trs80 opened 2 years ago

trs80 commented 2 years ago

RFC 8908 describes an API for captive portals so clients can go directly to the URL instead of having to probe and be redirected.

It's got good client support, being implemented in Android 11/12 - https://developer.android.com/about/versions/11/features/captive-portal and iOS 14+ - https://developer.apple.com/news/?id=q78sq5rv

julsemaan commented 2 years ago

We already do support RFC7910bis which is the DHCP part of the 2 articles you posted.

See this issue for details: https://github.com/inverse-inc/packetfence/issues/5638

As for implementing the JSON response in the probes, I doubt there is a solid use-case for that yet but I may be proved wrong.

I'll leave this opened for the captive-portal JSON API part

trs80 commented 2 years ago

Thanks, looking at the commit it seems the JSON API is also partially implemented https://github.com/inverse-inc/packetfence/pull/5781/files#diff-a3d793d6403ce6cea334b613ebd873e0766774036c416915735dd3165ec6b9c4R138

Perhaps then this is more a request for documentation that it already exists.