Captive Portal API State Structure Enhancement
Internet-Draft draft-sawant-capport-api-state-enhancement-00
Paresh Sawant
Apple Inc.
paresh_sawant@apple.com
26 June 2024
capport api state
token
internet access
notification
This document specifies a new key in Captive Portal API State data structure. The purpose of the new key is to allow clients to perform the client authentication without user interaction.
Introduction
As described in [RFC8908], the Captive Portal API data structure is specified in JavaScript Object Notation (JSON) [RFC8259]. Requests and responses for the Captive Portal API use the "application/captive+json" media type. The original specification specifies key "user-portal-url" to convey the web portal URL to the client. Although in most cases client devices are capable of presenting the web portal to the user, there are types of devices that are not built to support the user interaction with the web portal. This document specifies a new key that allows client to perform the authentication without user interaction.
Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
API State Structure Enhancement
Table 1 shows the new key that can be optionally included in the top-level of the JSON structure returned by the API server.
Table 1
Key | Type | Description
authentication-server-url | string | It provides the URL of the Authentication Server that MUST be accessed over TLS. Authentication Server authenticates clients using the HTTP authentication framework specified in [RFC9110]. The server MUST NOT require user interaction on the client device. The client MUST have a credential to perform the authentication without user nteraction.
Security Considerations
This document recommends security considerations specified in Section 7 of [RFC8908].
Privacy Considerations
This document recommends privacy consideration specified in Section 7.1 of [RFC8908].
IANA Considerations
IANA is requested to add the new key specified in Table 1.
Normative References
[RFC8908]

Captive Portal API
T. Pauly, Ed.
D. Thakore, Ed.
September 2020
RFC 8908
DOI 10.17487/RFC8908
[RFC8259]

The JavaScript Object Notation (JSON) Data Interchange Format
T. Bray, Ed.
December 2017
STD 90
RFC 8259
DOI 10.17487/RFC8259
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
[RFC9110]

HTTP Semantics
R. Fielding, Ed.
M. Nottingham, Ed.
J. Reschke, Ed.
June 2022
STD 97
RFC 9110
DOI 10.17487/RFC9110