NAME
Authen::NZRealMe::CommonURIs - Common mappings for tokens to URIs
DESCRIPTION
This module is a central location for defining URIs used across this distribution. The aim of the module is to reduce duplication and possibility of errors.
Many of the URIs are namespace URIs which will be used in reading or writing XML documents. The chosen prefixes for these namespace URIs are arbitrary.
SYNOPSIS
use Authen::NZRealMe::CommonURIs qw(URI NS_PAIR);
say URI('ec14n'); # http://www.w3.org/2001/10/xml-exc-c14n#
$xc->registerNs( NS_PAIR('ds') );
FUNCTIONS
The following two functions are exported:
URI( token )
Takes a simple string argument (like 'ec14n') which is used as a lookup and returns a URI (like 'http://www.w3.org/2001/10/xml-exc-c14n#').
Will die if there no URI is registered for the supplied token.
NS_PAIR( prefix or uri )
Takes a simple string argument (like 'ds') which is used as a lookup and returns a a list of two scalar values: a namespace-prefix => namespace-uri pair for use with XML::LibXML::XPathContext. The supplied argument can be used to look up by namespace prefix or by namespace URI.
After the namespace-prefix => namespace-uri pair have been registered, the supplied prefix value can be used as a namespace prefix in XPath queries.
Will die if the supplied value cannot be used as a prefix to find a URI or as a URI to find a prefix.
IDENTIFIERS
The following token/URI mappings are defined. For simplicity, they are all available via both the URI() and the NS_PAIR() functions, although not all the URIs are actually intended to be used as namespaces in XML.
Sources for these URIs:
DSIG_CORE https://www.w3.org/TR/xmldsig-core/#sec-CoreSyntax
DSIG_ALG https://www.w3.org/TR/xmldsig-core/#sec-AlgID
SAML2 https://wiki.oasis-open.org/security/FrontPage#SAML_V2.0_Standard
SOAP11 https://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383494
SOAP12 https://www.w3.org/TR/2007/REC-soap12-part1-20070427/#soapenvelope
WSDL https://www.w3.org/TR/wsdl/#nsprefixes
WSDL_SOAP http://schemas.xmlsoap.org/wsdl/soap12/soap12WSDL.htm
WS_ADDR https://www.w3.org/TR/ws-addr-core/#namespaces
WS_TRUST http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/ws-trust.html#_Toc325658925
WS_SEC http://docs.oasis-open.org/wss-m/wss/v1.1.1/os/wss-SOAPMessageSecurity-v1.1.1-os.html#_Toc307407921
WS_SEC2 http://docs.oasis-open.org/wss-m/wss/v1.1.1/os/wss-SOAPMessageSecurity-v1.1.1-os.html#_Toc307407949
RM_LOGIN https://developers.realme.govt.nz/how-realme-works/
RM_ASSERT https://developers.realme.govt.nz/how-realme-works/
RM_ICMS RealMe iCMS docs
- ds => http://www.w3.org/2000/09/xmldsig#
-
XML Digital Signatures namespace URI. Source: [DSIG_CORE].
- c14n => http://www.w3.org/TR/2001/REC-xml-c14n-20010315
-
Canonical XML 1.0 (omit comments) transform. Source: [DSIG_ALG].
- c14n_wc => http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
-
Canonical XML 1.0 (with comments) transform. Source: [DSIG_ALG].
- c14n11 => http://www.w3.org/2006/12/xml-c14n11
-
Canonical XML 1.1 (omit comments) transform. Source: [DSIG_ALG].
- c14n11_wc => http://www.w3.org/2006/12/xml-c14n11#WithComments
-
Canonical XML 1.1 (with comments) transform. Source: [DSIG_ALG].
- ec14n => http://www.w3.org/2001/10/xml-exc-c14n#
-
Exclusive XML Canonicalization 1.0 (omit comments) transform. Source: [DSIG_ALG].
- ec14n_wc => http://www.w3.org/2001/10/xml-exc-c14n#WithComments
-
Exclusive XML Canonicalization 1.0 (with comments) transform. Source: [DSIG_ALG].
- sha1 => http://www.w3.org/2000/09/xmldsig#sha1
-
SHA1 digest transform. Source: [DSIG_ALG].
- sha256 => http://www.w3.org/2001/04/xmlenc#sha256
-
SHA256 digest transform. Source: [DSIG_ALG].
- env_sig => http://www.w3.org/2000/09/xmldsig#enveloped-signature
-
Enveloped Signature transform. Source: [DSIG_ALG].
- rsa_sha1 => http://www.w3.org/2000/09/xmldsig#rsa-sha1
-
RSA with SHA1 digital signature transform. Source: [DSIG_ALG].
- rsa_sha256 => http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
-
RSA with SHA256 digital signature transform. Source: [DSIG_ALG].
- soap11 => http://schemas.xmlsoap.org/soap/envelope/
-
Namespace URI for SOAP version 1.1 elements. Source: [SOAP11].
- soap12 => http://www.w3.org/2003/05/soap-envelope
-
Namespace URI for SOAP version 1.2 elements. Source: [SOAP12].
- wsdl => http://schemas.xmlsoap.org/wsdl/
-
Namespace URI for WSDL elements. Source: [WSDL].
- wsdl_soap => http://schemas.xmlsoap.org/wsdl/soap12/
-
Namespace URI for WSDL binding for SOAP version 1.2 elements. Source: [WSDL_SOAP].
- wsa => http://www.w3.org/2005/08/addressing
-
Namespace URI for Web Services Addressing elements. Source [WS_ADDR].
- wsam => http://www.w3.org/2007/05/addressing/metadata
-
Namespace URI for Web Services Addressing metadata elements. Source [WS_ADDR].
- wsa_anon => http://www.w3.org/2005/08/addressing/anonymous
-
URI token to select anonymous addressing. Source [WS_ADDR].
- wsse => http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
-
Namespace URI for Web Services Security extension elements. Source [WS_SEC].
- wss_b64 => http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary
-
Encoding type used for Web Services Security binary security tokens. Source [WS_SEC2].
- wss_saml2 => http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0
-
Identifier type used for Web Services Security SAML2 token type references. Source [WS_SEC2].
- wss_sha1 => http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1
-
Identifier type used for Web Services Security key identifier thumbprint references. Source [WS_SEC2].
- wst => http://docs.oasis-open.org/ws-sx/ws-trust/200512
-
Namespace URI for WS-Trust elements. Source [WS_TRUST].
- wst_validate => http://docs.oasis-open.org/ws-sx/ws-trust/200512/Validate
-
Identifier type used for WS-Trust request type references. Source [WS_TRUST].
- wsu => http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
-
Namespace URI for Web Services Security elements. Source [WS_SEC].
- saml => urn:oasis:names:tc:SAML:2.0:assertion
-
Namespace used for SAML 2.0 assertion elements. Source [SAML2].
- samlmd => urn:oasis:names:tc:SAML:2.0:metadata
-
Namespace used for SAML 2.0 metadata elements. Source [SAML2].
- samlp => urn:oasis:names:tc:SAML:2.0:protocol
-
Namespace used for SAML 2.0 protocol elements. Source [SAML2].
- saml_b_soap => urn:oasis:names:tc:SAML:2.0:bindings:SOAP
-
Identifier type used for SAML 2.0 binding type references. Source [SAML2].
- saml_success => urn:oasis:names:tc:SAML:2.0:status:Success
-
Identifier type used for SAML 2.0 response success status references. Source [SAML2].
- saml_auth_fail => urn:oasis:names:tc:SAML:2.0:status:AuthnFailed
-
Identifier type used for SAML 2.0 response failure status references. Source [SAML2].
- saml_unkpncpl => urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal
-
Identifier type used for SAML 2.0 response 'unknown principal' status references. Source [SAML2].
- rm_timeout => urn:nzl:govt:ict:stds:authn:deployment:RealMe:SAML:2.0:status:Timeout
-
Identifier type used by RealMe for SAML 2.0 response timeout status references. Source [RM_LOGIN].
- xpil => urn:oasis:names:tc:ciq:xpil:3
-
Namespace used for party (person) elements in RealMe identity assertions. Source [RM_ASSERT].
- xal => urn:oasis:names:tc:ciq:xal:3
-
Namespace used for locality elements in RealMe identity assertions. Source [RM_ASSERT].
- xnl => urn:oasis:names:tc:ciq:xnl:3
-
Namespace used for person name elements in RealMe identity assertions. Source [RM_ASSERT].
- ct => urn:oasis:names:tc:ciq:ct:3
-
Namespace used for common types used with elements in RealMe identity assertions. Source [RM_ASSERT].
- icms => urn:nzl:govt:ict:stds:authn:deployment:igovt:gls:iCMS:1_0
-
Namespace used for iCMS AllowCreateFLT elements. Source [RM_ICMS]