Display information about dacs jurisdictions
This web service is part of the DACS suite.
The dacs_list_jurisdictions web service displays information, relative to the jurisdiction that receives the request, about its federation and other jurisdictions in that federation. Included are the federation's public encryption key and its unique instance identifier.
The FORMAT argument (see \m[blue]dacs.services(8)\m\s-2\u\d\s+2) determines the type of output, with the default being HTML, using the style sheet \m[blue]dacs_list_jurisdictions.css\m\s-2\u\d\s+2. The various flavours of XML, a PHP format (see below), JSON, and plain text (TEXT) are supported.
One application of dacs_list_jurisdictions is to assist middleware to generate a menu of jurisdictions for user authentication. If FORMAT is PHP, a list of each jurisdiction that provides an authentication service is emitted (as text/plain, one jurisdiction per line. Each line has the format:
The string jname is the DACS jurisdiction name and url is the complete URL prefix for DACS web services at the jurisdiction. For example, invoking this URL:
might return the following response:
jurisdiction=INFOCARDS&host=https://example.com/infocards/cgi-bin/dacs&INFOCARDS jurisdiction=DEMO&host=https://example.com/demo/cgi-bin/dacs&DEMO jurisdiction=TEST&host=https://test.example.com/cgi-bin/dacs&TEST
The \m[blue]html/examples/login.php\m\s-2\u\d\s+2 template demonstrates this feature. If XML output is selected, a document conforming to \m[blue]dacs_list_jurisdictions.dtd\m\s-2\u\d\s+2 is returned.
When returned as an XML attribute, a public encryption key is a base-64 encoding of the PEM formatted key.
This program is also available as a DACS utility, \m[blue]dacslist(1)\m\s-2\u\d\s+2. Because \m[blue]dacs_admin(8)\m\s-2\u\d\s+2 provides the same functionality and more, dacs_list_jurisdictions may be removed in a future release.
In addition to the \m[blue]standard CGI arguments\m\s-2\u\d\s+2, dacs_list_jurisdictions understands the following CGI arguments:
Limit the output to the specified jurisdiction name. As a special case, if the argument does not specify a jurisdiction name, only federation-scoped information will be returned.
If this argument is "yes" (case insensitive) only the federation's or a jurisdiction's public key (if known) will be returned. If JURISDICTION is given and is not the empty string, that jurisdiction name is selected; if JURISDICTION is given and is the empty string, the federation is selected; and if the argument is absent, the current jurisdiction is selected. This argument currently requires FORMAT to be TEXT. A PEM [\m[blue]RFC 1421\m\s-2\u\d\s+2, \m[blue]RFC 1422\m\s-2\u\d\s+2, \m[blue]RFC 1423\m\s-2\u\d\s+2, \m[blue]RFC 1424\m\s-2\u\d\s+2] formatted key is returned.
In the current implementation, a jurisdiction's public key can only be provided by one of the jurisdictions configured on the same host.
The program exits 0 if everything was fine, 1 if an error occurred.
\m[blue]dacs(1)\m\s-2\u\d\s+2, \m[blue]dacskey(1)\m\s-2\u\d\s+2, \m[blue]dacslist(1)\m\s-2\u\d\s+2, \m[blue]dacs.groups(5)\m\s-2\u\d\s+2
Distributed Systems Software (\m[blue]www.dss.ca\m\s-2\u\d\s+2)
Copyright2003-2012 Distributed Systems Software. See the \m[blue]LICENSE\m\s-2\u\d\s+2 file that accompanies the distribution for licensing information.
standard CGI arguments