diff options
| -rw-r--r-- | lasso/xml/saml-2.0/saml2_strings.h | 403 | ||||
| -rw-r--r-- | lasso/xml/strings.h | 202 |
2 files changed, 406 insertions, 199 deletions
diff --git a/lasso/xml/saml-2.0/saml2_strings.h b/lasso/xml/saml-2.0/saml2_strings.h new file mode 100644 index 00000000..9e55434b --- /dev/null +++ b/lasso/xml/saml-2.0/saml2_strings.h @@ -0,0 +1,403 @@ +/* $Id$ + * + * Lasso - A free implementation of the Liberty Alliance specifications. + * + * Copyright (C) 2004-2007 Entr'ouvert + * http://lasso.entrouvert.org + * + * Authors: See AUTHORS file in top-level directory. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +/** + * SECTION:saml2_strings + * @short_description: String constants from SAML 2.0 specifications + * @long_desscription: A lots of elements contains URL or enum based content, + * @include: lasso/xml/saml-2.0/saml2_strinsg.h + * @stability: Stable + * @see_also: #LassoSamlp2AuthnRequest, #LassoSaml2Assertion, #LassoLogin + */ + +#ifndef __LASSO_SAML2_STRINGS_H__ +#define __LASSO_SAML2_STRINGS_H__ + +/** + * LASSO_SAML2_METADATA_HREF: + * + * Namespace for SAML 2.0 metadata + * + */ +#define LASSO_SAML2_METADATA_HREF "urn:oasis:names:tc:SAML:2.0:metadata" + +/** + * LASSO_SAML2_METADATA_PREFIX: + * + * Preferred prefix for namespace of SAML 2.0 metadata + */ +#define LASSO_SAML2_METADATA_PREFIX "md" + +/** + * LASSO_SAML2_PROTOCOL_HREF: + * + * Namespace for SAML 2.0 protocol. + * + */ +#define LASSO_SAML2_PROTOCOL_HREF "urn:oasis:names:tc:SAML:2.0:protocol" +/** + * LASSO_SAML2_PROTOCOL_PREFIX: + * + * Preferred prefix for namespace of SAML 2.0 protocol + * + */ +#define LASSO_SAML2_PROTOCOL_PREFIX "samlp" + +/** + * LASSO_SAML2_ASSERTION_HREF: + * + * Namespace for SAML 2.0 assertion + * + */ +#define LASSO_SAML2_ASSERTION_HREF "urn:oasis:names:tc:SAML:2.0:assertion" +/** + * LASSO_SAML2_ASSERTION_PREFIX: + * + * Preferred prefix for namespace of SAML 2.0 assertion + * + */ +#define LASSO_SAML2_ASSERTION_PREFIX "saml" + +/* Bindings URIs */ + +/** + * LASSO_SAML2_METADATA_BINDING_SOAP: + * + * URI for the SOAP binding. + */ +#define LASSO_SAML2_METADATA_BINDING_SOAP "urn:oasis:names:tc:SAML:2.0:bindings:SOAP" + +/** + * LASSO_SAML2_METADATA_BINDING_REDIRECT: + * + * URI for the HTTP-Redirect binding. + */ +#define LASSO_SAML2_METADATA_BINDING_REDIRECT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" +/** + * LASSO_SAML2_METADATA_BINDING_POST: + * + * URI for the HTTP-Post binding. + */ +#define LASSO_SAML2_METADATA_BINDING_POST "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" + +/** + * LASSO_SAML2_METADATA_BINDING_ARTIFACT: + * + * URI for the HTTP-Artifact binding. + */ +#define LASSO_SAML2_METADATA_BINDING_ARTIFACT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" + +/** + * LASSO_SAML2_METADATA_BINDING_PAOS: + * + * URI for the PAOS (or reverse SOAP) binding. + */ +#define LASSO_SAML2_METADATA_BINDING_PAOS "urn:oasis:names:tc:SAML:2.0:bindings:PAOS" + +/** + * LASSO_SAML2_DEFLATE_ENCODING: + * + * URI for URL-Encoding of kind DEFLATE (compress message content before encoding in the URI). + */ +#define LASSO_SAML2_DEFLATE_ENCODING "urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE" + + +/* Name Identifier Format */ + +/* note that SAML 2.0 can also use SAML 1.1 name identifier formats */ + +/** + * LASSO_SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED: + * + * <para>Name identifier format for local names, or free format name.</para> + * + * From saml-core-2.0-os.pdf: + * <blockquote>The interpretation of the content of the element is left to individual implementations.</blockquote> + */ +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED \ + "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" +/** + * LASSO_SAML2_NAME_IDENTIFIER_FORMAT_EMAIL: + * + * <para>Name identifier format for email addresses.</para> + * + * From saml-core-2.0-os.pdf: + * <blockquote>Indicates that the content of the element is in the form of an email address, + * specifically "addr-spec" as defined in IETF RFC 2822 [RFC 2822] Section 3.4.1. An addr-spec has + * the form local-part@domain. Note that an addr-spec has no phrase (such as a common name) before + * it, has no comment (text surrounded in parentheses) after it, and is not surrounded by "<" and + * ">". </blockquote> + */ +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_EMAIL \ + "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_X509 \ + "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_WINDOWS \ + "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName" +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_KERBEROS \ + "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos" +/** + * LASSO_SAML2_NAME_IDENTIFIER_FORMAT_ENTITY: + * + * <para>Name identifier format for SAML 2.0 entities, i.e. identity and service providers.</para> + * + * From saml-core-2.0-os.pdf: + * <blockquote><pare>Indicates that the content of the element is the + * identifier of an entity that provides SAML-based services + (such as a SAML authority, requester, or responder) or is a participant in SAML profiles (such as a + * service provider supporting the browser SSO profile). Such an identifier can be used in the + * <Issuer> element to identify the issuer of a SAML request, response, or assertion, or within the + * <NameID> element to make assertions about system entities that can issue SAML requests, + * responses, and assertions. It can also be used in other elements and attributes whose purpose is + * to identify a system entity in various protocol exchanges.</para> <para>The syntax of such an + * identifier is a URI of not more than 1024 characters in length. It is RECOMMENDED that a system + * entity use a URL containing its own domain name to identify itself.</para> <para>The + * NameQualifier, SPNameQualifier, and SPProvidedID attributes MUST be omitted.</para></blockquote> + */ +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_ENTITY \ + "urn:oasis:names:tc:SAML:2.0:nameid-format:entity" +/** + * LASSO_SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT: + * + * <para>Name identifier format for SAML 2.0 federation.</para> + * + */ +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT \ + "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" +/** + * LASSO_SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT: + * + * <para>Name identifier format for temporary SAML 2.0 federation.</para> + */ +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT \ + "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" +#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_ENCRYPTED \ + "urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted" + +/* Attribute Names */ + +/** + * LASSO_SAML2_ATTRIBUTE_NAME_EPR: + * + * Attribute name for tranmitting Discovery bootstrap EPR when using ID-WSF 2.0 framework. It must + * be used conjointly with #LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_URI as format for the attribute + * element. + */ +#define LASSO_SAML2_ATTRIBUTE_NAME_EPR "urn:liberty:disco:2006-08:DiscoveryEPR" + +/* Attribute Name Format */ + +/** + * LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_UNSPECIFIED: + * + * Attribute format whose interpretation is left to individual implementations. + */ +#define LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_UNSPECIFIED "urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" + +/** + * LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_URI: + * + * From saml-core-2.0-os.pdf: + * <blockquote>The attribute name follows the convention for URI references [RFC 2396], for example + * as used in XACML attribute identifiers. The interpretation of the URI content or naming + * scheme is + application- specific. See [SAMLProf] for attribute profiles that make use of this identifier.</blockquote> + */ +#define LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_URI "urn:oasis:names:tc:SAML:2.0:attrname-format:uri" + +/** + * LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_BASIC: + * + * Attribute format whose names are in the xs:Name domain. + */ +#define LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_BASIC "urn:oasis:names:tc:SAML:2.0:attrname-format:basic" + +/* Actions */ + +/* Actions are used by the Authorization profile */ + +/** + * LASSO_SAML2_ACTION_NAMESPACE_RWEDC: + * + * Namespace for actions among: Read, Write, Execute, Delete and Control. + */ +#define LASSO_SAML2_ACTION_NAMESPACE_RWEDC "urn:oasis:names:tc:SAML:1.0:action:rwedc" + +/** + * LASSO_SAML2_ACTION_NAMESPACE_RWEDC_NEGATION: + * + * Namespace for actions among: Read, Write, Execute, Delete and Control and their negations, ~Read, + * ~Write, ~Execute, ~Delete, ~Control. + */ +#define LASSO_SAML2_ACTION_NAMESPACE_RWEDC_NEGATION "urn:oasis:names:tc:SAML:1.0:action:rwedc-negation" + +/** + * LASSO_SAML2_ACTION_NAMESPACE_GHPP: + * + * Namespace for actions among: GET, HEAD, PUT, POST. + */ +#define LASSO_SAML2_ACTION_NAMESPACE_GHPP "urn:oasis:names:tc:SAML:1.0:action:ghpp" + +/** + * LASSO_SAML2_ACTION_NAMESPACE_UNIX: + * + * Namespace for actions represented by a four digit numeric code in octal value, as Unix file + * permissions codes. + */ +#define LASSO_SAML2_ACTION_NAMESPACE_UNIX "urn:oasis:names:tc:SAML:1.0:action:unix" + +/* Individual actions */ +#define LASSO_SAML2_ACTION_RWEDC_READ "Read" +#define LASSO_SAML2_ACTION_RWEDC_WRITE "Write" +#define LASSO_SAML2_ACTION_RWEDC_EXECUTE "Execute" +#define LASSO_SAML2_ACTION_RWEDC_DELETE "Delete" +#define LASSO_SAML2_ACTION_RWEDC_CONTROL "Control" +#define LASSO_SAML2_ACTION_RWEDC_NEGATION "~" + +#define LASSO_SAML2_ACTION_GHPP_GET "GET" +#define LASSO_SAML2_ACTION_GHPP_HEAD "HEAD" +#define LASSO_SAML2_ACTION_GHPP_PUT "PUT" +#define LASSO_SAML2_ACTION_GHPP_POST "POST" + +/* Consent */ +#define LASSO_SAML2_CONSENT_OBTAINED "urn:oasis:names:tc:SAML:2.0:consent:obtained" +#define LASSO_SAML2_CONSENT_PRIOR "urn:oasis:names:tc:SAML:2.0:consent:prior" +#define LASSO_SAML2_CONSENT_IMPLICIT "urn:oasis:names:tc:SAML:2.0:consent:current-implicit" +#define LASSO_SAML2_CONSENT_EXPLICIT "urn:oasis:names:tc:SAML:2.0:consent:current-explicit" +#define LASSO_SAML2_CONSENT_UNAVAILABLE "urn:oasis:names:tc:SAML:2.0:consent:unavailable" +#define LASSO_SAML2_CONSENT_INAPPLICABLE "urn:oasis:names:tc:SAML:2.0:consent:inapplicable" + +/* Status Code */ +#define LASSO_SAML2_STATUS_CODE_SUCCESS "urn:oasis:names:tc:SAML:2.0:status:Success" +#define LASSO_SAML2_STATUS_CODE_REQUESTER "urn:oasis:names:tc:SAML:2.0:status:Requester" +#define LASSO_SAML2_STATUS_CODE_RESPONDER "urn:oasis:names:tc:SAML:2.0:status:Responder" +#define LASSO_SAML2_STATUS_CODE_VERSION_MISMATCH \ + "urn:oasis:names:tc:SAML:2.0:status:VersionMismatch" +#define LASSO_SAML2_STATUS_CODE_AUTHN_FAILED "urn:oasis:names:tc:SAML:2.0:status:AuthnFailed" +#define LASSO_SAML2_STATUS_CODE_INVALID_ATTR_NAME \ + "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue" +#define LASSO_SAML2_STATUS_CODE_INVALID_NAME_ID_POLICY \ + "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy" +#define LASSO_SAML2_STATUS_CODE_NO_AUTHN_CONTEXT \ + "urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext" +#define LASSO_SAML2_STATUS_CODE_NO_AVAILABLE_IDP \ + "urn:oasis:names:tc:SAML:2.0:status:NoAvailableIDP" +#define LASSO_SAML2_STATUS_CODE_NO_PASSIVE \ + "urn:oasis:names:tc:SAML:2.0:status:NoPassive" +#define LASSO_SAML2_STATUS_CODE_NO_SUPPORTED_IDP \ + "urn:oasis:names:tc:SAML:2.0:status:NoSupportedIDP" +#define LASSO_SAML2_STATUS_CODE_PARTIAL_LOGOUT \ + "urn:oasis:names:tc:SAML:2.0:status:PartialLogout" +#define LASSO_SAML2_STATUS_CODE_PROXY_COUNT_EXCEEDED \ + "urn:oasis:names:tc:SAML:2.0:status:ProxyCountExceeded" +#define LASSO_SAML2_STATUS_CODE_REQUEST_DENIED \ + "urn:oasis:names:tc:SAML:2.0:status:RequestDenied" +#define LASSO_SAML2_STATUS_CODE_REQUEST_UNSUPPORTED \ + "urn:oasis:names:tc:SAML:2.0:status:RequestUnsupported" +#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_DEPRECATED \ + "urn:oasis:names:tc:SAML:2.0:status:RequestVersionDeprecated" +#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_TOO_HIGH \ + "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooHigh" +#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_TOO_LOW \ + "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooLow" +#define LASSO_SAML2_STATUS_CODE_RESOURCE_NOT_RECOGNIZED \ + "urn:oasis:names:tc:SAML:2.0:status:ResourceNotRecognized" +#define LASSO_SAML2_STATUS_CODE_TOO_MANY_RESPONSES \ + "urn:oasis:names:tc:SAML:2.0:status:TooManyResponses" +#define LASSO_SAML2_STATUS_CODE_UNKNOWN_ATTR_PROFILE \ + "urn:oasis:names:tc:SAML:2.0:status:UnknownAttrProfile" +#define LASSO_SAML2_STATUS_CODE_UNKNOWN_PRINCIPAL \ + "urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" +#define LASSO_SAML2_STATUS_CODE_UNSUPPORTED_BINDING \ + "urn:oasis:names:tc:SAML:2.0:status:UnsupportedBinding" + +/* AuthnClassRef */ + +#define LASSO_SAML2_AUTHN_CONTEXT_AUTHENTICATED_TELEPHONY \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony" +#define LASSO_SAML2_AUTHN_CONTEXT_INTERNET_PROTOCOL \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol" +#define LASSO_SAML2_AUTHN_CONTEXT_INTERNET_PROTOCOL_PASSWORD \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword" +#define LASSO_SAML2_AUTHN_CONTEXT_KERBEROS \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos" +#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_ONE_FACTOR_CONTRACT \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract" +#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_ONE_FACTOR_UNREGISTERED \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered" +#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_TWO_FACTOR_CONTRACT \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract" +#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_TWO_FACTOR_UNREGISTERED \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered" +#define LASSO_SAML2_AUTHN_CONTEXT_NOMAD_TELEPHONY \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony" +#define LASSO_SAML2_AUTHN_CONTEXT_PERSONALIZED_TELEPHONY \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalizedTelephony" +#define LASSO_SAML2_AUTHN_CONTEXT_PGP \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP" +#define LASSO_SAML2_AUTHN_CONTEXT_PASSWORD_PROTECTED_TRANSPORT \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" +#define LASSO_SAML2_AUTHN_CONTEXT_PASSWORD \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:Password" +#define LASSO_SAML2_AUTHN_CONTEXT_PREVIOUS_SESSION \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession" +#define LASSO_SAML2_AUTHN_CONTEXT_SMARTCARD \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard" +#define LASSO_SAML2_AUTHN_CONTEXT_SMARTCARD_PKI \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI" +#define LASSO_SAML2_AUTHN_CONTEXT_SOFTWARE_PKI \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI" +#define LASSO_SAML2_AUTHN_CONTEXT_SPKI \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI" +#define LASSO_SAML2_AUTHN_CONTEXT_SECURE_REMOTE_PASSWORD \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword" +#define LASSO_SAML2_AUTHN_CONTEXT_TLS_CLIENT \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient" +#define LASSO_SAML2_AUTHN_CONTEXT_X509 \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:X509" +#define LASSO_SAML2_AUTHN_CONTEXT_TELEPHONY \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony" +#define LASSO_SAML2_AUTHN_CONTEXT_TIME_SYNC_TOKEN \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken" +#define LASSO_SAML2_AUTHN_CONTEXT_XMLDSIG \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig" +#define LASSO_SAML2_AUTHN_CONTEXT_UNSPECIFIED \ + "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified" + + +/* Confirmation methods */ + +#define LASSO_SAML2_CONFIRMATION_METHOD_BEARER "urn:oasis:names:tc:SAML:2.0:cm:bearer" +#define LASSO_SAML2_CONFIRMATION_METHOD_HOLDER_OF_KEY "urn:oasis:names:tc:SAML:2.0:cm:holder-of-key" + +/* POST and GET request fields */ +#define LASSO_SAML2_FIELD_RESPONSE "SAMLResponse" +#define LASSO_SAML2_FIELD_REQUEST "SAMLRequest" +#define LASSO_SAML2_FIELD_ARTIFACT "SAMLart" +#define LASSO_SAML2_FIELD_RELAYSTATE "RelayState" +#define LASSO_SAML2_FIELD_SIGNATURE "Signature" +#define LASSO_SAML2_FIELD_SIGALG "SigAlg" + +#endif /* __LASSO_SAML2_STRINGS_H__ */ diff --git a/lasso/xml/strings.h b/lasso/xml/strings.h index e7c8ba7b..9638e9c1 100644 --- a/lasso/xml/strings.h +++ b/lasso/xml/strings.h @@ -34,7 +34,8 @@ /** * SECTION:strings - * @short_description: Useful string constants + * @short_description: General strings constants for Lasso + * @include: lasso/xml/strings.h * **/ @@ -42,6 +43,7 @@ #define __LASSO_STRINGS_H__ #include "./idwsf_strings.h" +#include "./saml-2.0/saml2_strings.h" /*****************************************************************************/ /* SOAP 1.1 */ @@ -889,204 +891,6 @@ #define LASSO_ECP_PREFIX "ecp" /*****************************************************************************/ -/* SAML 2.0 */ -/*****************************************************************************/ - -/** - * LASSO_SAML2_METADATA_HREF: - * - * Namespace for FIXME - * - */ -#define LASSO_SAML2_METADATA_HREF "urn:oasis:names:tc:SAML:2.0:metadata" - -#define LASSO_SAML2_METADATA_BINDING_SOAP "urn:oasis:names:tc:SAML:2.0:bindings:SOAP" -#define LASSO_SAML2_METADATA_BINDING_REDIRECT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" -#define LASSO_SAML2_METADATA_BINDING_POST "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" -#define LASSO_SAML2_METADATA_BINDING_ARTIFACT "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" -#define LASSO_SAML2_METADATA_BINDING_PAOS "urn:oasis:names:tc:SAML:2.0:bindings:PAOS" - -/** - * LASSO_SAML2_PROTOCOL_HREF: - * - * Namespace for FIXME - * - */ -#define LASSO_SAML2_PROTOCOL_HREF "urn:oasis:names:tc:SAML:2.0:protocol" -/** - * LASSO_SAML2_PROTOCOL_PREFIX: - * - * Preferred prefix for namespace of FIXME - * - */ -#define LASSO_SAML2_PROTOCOL_PREFIX "samlp" - -/** - * LASSO_SAML2_ASSERTION_HREF: - * - * Namespace for FIXME - * - */ -#define LASSO_SAML2_ASSERTION_HREF "urn:oasis:names:tc:SAML:2.0:assertion" -/** - * LASSO_SAML2_ASSERTION_PREFIX: - * - * Preferred prefix for namespace of FIXME - * - */ -#define LASSO_SAML2_ASSERTION_PREFIX "saml" - -#define LASSO_SAML2_DEFLATE_ENCODING "urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE" - - -/* Name Identifier Format */ - -/* note that SAML 2.0 can also use SAML 1.1 name identifier formats */ -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_UNSPECIFIED \ - "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_EMAIL \ - "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_X509 \ - "urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_WINDOWS \ - "urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_KERBEROS \ - "urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_ENTITY \ - "urn:oasis:names:tc:SAML:2.0:nameid-format:entity" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_PERSISTENT \ - "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_TRANSIENT \ - "urn:oasis:names:tc:SAML:2.0:nameid-format:transient" -#define LASSO_SAML2_NAME_IDENTIFIER_FORMAT_ENCRYPTED \ - "urn:oasis:names:tc:SAML:2.0:nameid-format:encrypted" - -/* Attribute Name */ -#define LASSO_SAML2_ATTRIBUTE_NAME_EPR "urn:liberty:disco:2006-08:DiscoveryEPR" - -/* Attribute Name Format */ -#define LASSO_SAML2_ATTRIBUTE_NAME_FORMAT_URI "urn:oasis:names:tc:SAML:2.0:attrname-format:uri" - -/* Consent */ -#define LASSO_SAML2_CONSENT_OBTAINED "urn:oasis:names:tc:SAML:2.0:consent:obtained" -#define LASSO_SAML2_CONSENT_PRIOR "urn:oasis:names:tc:SAML:2.0:consent:prior" -#define LASSO_SAML2_CONSENT_IMPLICIT "urn:oasis:names:tc:SAML:2.0:consent:current-implicit" -#define LASSO_SAML2_CONSENT_EXPLICIT "urn:oasis:names:tc:SAML:2.0:consent:current-explicit" -#define LASSO_SAML2_CONSENT_UNAVAILABLE "urn:oasis:names:tc:SAML:2.0:consent:unavailable" -#define LASSO_SAML2_CONSENT_INAPPLICABLE "urn:oasis:names:tc:SAML:2.0:consent:inapplicable" - -/* Status Code */ -#define LASSO_SAML2_STATUS_CODE_SUCCESS "urn:oasis:names:tc:SAML:2.0:status:Success" -#define LASSO_SAML2_STATUS_CODE_REQUESTER "urn:oasis:names:tc:SAML:2.0:status:Requester" -#define LASSO_SAML2_STATUS_CODE_RESPONDER "urn:oasis:names:tc:SAML:2.0:status:Responder" -#define LASSO_SAML2_STATUS_CODE_VERSION_MISMATCH \ - "urn:oasis:names:tc:SAML:2.0:status:VersionMismatch" -#define LASSO_SAML2_STATUS_CODE_AUTHN_FAILED "urn:oasis:names:tc:SAML:2.0:status:AuthnFailed" -#define LASSO_SAML2_STATUS_CODE_INVALID_ATTR_NAME \ - "urn:oasis:names:tc:SAML:2.0:status:InvalidAttrNameOrValue" -#define LASSO_SAML2_STATUS_CODE_INVALID_NAME_ID_POLICY \ - "urn:oasis:names:tc:SAML:2.0:status:InvalidNameIDPolicy" -#define LASSO_SAML2_STATUS_CODE_NO_AUTHN_CONTEXT \ - "urn:oasis:names:tc:SAML:2.0:status:NoAuthnContext" -#define LASSO_SAML2_STATUS_CODE_NO_AVAILABLE_IDP \ - "urn:oasis:names:tc:SAML:2.0:status:NoAvailableIDP" -#define LASSO_SAML2_STATUS_CODE_NO_PASSIVE \ - "urn:oasis:names:tc:SAML:2.0:status:NoPassive" -#define LASSO_SAML2_STATUS_CODE_NO_SUPPORTED_IDP \ - "urn:oasis:names:tc:SAML:2.0:status:NoSupportedIDP" -#define LASSO_SAML2_STATUS_CODE_PARTIAL_LOGOUT \ - "urn:oasis:names:tc:SAML:2.0:status:PartialLogout" -#define LASSO_SAML2_STATUS_CODE_PROXY_COUNT_EXCEEDED \ - "urn:oasis:names:tc:SAML:2.0:status:ProxyCountExceeded" -#define LASSO_SAML2_STATUS_CODE_REQUEST_DENIED \ - "urn:oasis:names:tc:SAML:2.0:status:RequestDenied" -#define LASSO_SAML2_STATUS_CODE_REQUEST_UNSUPPORTED \ - "urn:oasis:names:tc:SAML:2.0:status:RequestUnsupported" -#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_DEPRECATED \ - "urn:oasis:names:tc:SAML:2.0:status:RequestVersionDeprecated" -#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_TOO_HIGH \ - "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooHigh" -#define LASSO_SAML2_STATUS_CODE_REQUEST_VERSION_TOO_LOW \ - "urn:oasis:names:tc:SAML:2.0:status:RequestVersionTooLow" -#define LASSO_SAML2_STATUS_CODE_RESOURCE_NOT_RECOGNIZED \ - "urn:oasis:names:tc:SAML:2.0:status:ResourceNotRecognized" -#define LASSO_SAML2_STATUS_CODE_TOO_MANY_RESPONSES \ - "urn:oasis:names:tc:SAML:2.0:status:TooManyResponses" -#define LASSO_SAML2_STATUS_CODE_UNKNOWN_ATTR_PROFILE \ - "urn:oasis:names:tc:SAML:2.0:status:UnknownAttrProfile" -#define LASSO_SAML2_STATUS_CODE_UNKNOWN_PRINCIPAL \ - "urn:oasis:names:tc:SAML:2.0:status:UnknownPrincipal" -#define LASSO_SAML2_STATUS_CODE_UNSUPPORTED_BINDING \ - "urn:oasis:names:tc:SAML:2.0:status:UnsupportedBinding" - -/* AuthnClassRef */ - -#define LASSO_SAML2_AUTHN_CONTEXT_AUTHENTICATED_TELEPHONY \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony" -#define LASSO_SAML2_AUTHN_CONTEXT_INTERNET_PROTOCOL \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol" -#define LASSO_SAML2_AUTHN_CONTEXT_INTERNET_PROTOCOL_PASSWORD \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword" -#define LASSO_SAML2_AUTHN_CONTEXT_KERBEROS \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos" -#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_ONE_FACTOR_CONTRACT \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract" -#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_ONE_FACTOR_UNREGISTERED \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered" -#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_TWO_FACTOR_CONTRACT \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract" -#define LASSO_SAML2_AUTHN_CONTEXT_MOBILE_TWO_FACTOR_UNREGISTERED \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered" -#define LASSO_SAML2_AUTHN_CONTEXT_NOMAD_TELEPHONY \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony" -#define LASSO_SAML2_AUTHN_CONTEXT_PERSONALIZED_TELEPHONY \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalizedTelephony" -#define LASSO_SAML2_AUTHN_CONTEXT_PGP \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:PGP" -#define LASSO_SAML2_AUTHN_CONTEXT_PASSWORD_PROTECTED_TRANSPORT \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" -#define LASSO_SAML2_AUTHN_CONTEXT_PASSWORD \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:Password" -#define LASSO_SAML2_AUTHN_CONTEXT_PREVIOUS_SESSION \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession" -#define LASSO_SAML2_AUTHN_CONTEXT_SMARTCARD \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard" -#define LASSO_SAML2_AUTHN_CONTEXT_SMARTCARD_PKI \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI" -#define LASSO_SAML2_AUTHN_CONTEXT_SOFTWARE_PKI \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI" -#define LASSO_SAML2_AUTHN_CONTEXT_SPKI \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI" -#define LASSO_SAML2_AUTHN_CONTEXT_SECURE_REMOTE_PASSWORD \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword" -#define LASSO_SAML2_AUTHN_CONTEXT_TLS_CLIENT \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient" -#define LASSO_SAML2_AUTHN_CONTEXT_X509 \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:X509" -#define LASSO_SAML2_AUTHN_CONTEXT_TELEPHONY \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony" -#define LASSO_SAML2_AUTHN_CONTEXT_TIME_SYNC_TOKEN \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken" -#define LASSO_SAML2_AUTHN_CONTEXT_XMLDSIG \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig" -#define LASSO_SAML2_AUTHN_CONTEXT_UNSPECIFIED \ - "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified" - - -/* Confirmation methods */ - -#define LASSO_SAML2_CONFIRMATION_METHOD_BEARER "urn:oasis:names:tc:SAML:2.0:cm:bearer" -#define LASSO_SAML2_CONFIRMATION_METHOD_HOLDER_OF_KEY "urn:oasis:names:tc:SAML:2.0:cm:holder-of-key" - -/* POST and GET request fields */ -#define LASSO_SAML2_FIELD_RESPONSE "SAMLResponse" -#define LASSO_SAML2_FIELD_REQUEST "SAMLRequest" -#define LASSO_SAML2_FIELD_ARTIFACT "SAMLart" -#define LASSO_SAML2_FIELD_RELAYSTATE "RelayState" -#define LASSO_SAML2_FIELD_SIGNATURE "Signature" -#define LASSO_SAML2_FIELD_SIGALG "SigAlg" - -/*****************************************************************************/ /* Others */ /*****************************************************************************/ |
