1 /** 2 * Licensed to the University Corporation for Advanced Internet 3 * Development, Inc. (UCAID) under one or more contributor license 4 * agreements. See the NOTICE file distributed with this work for 5 * additional information regarding copyright ownership. 6 * 7 * UCAID licenses this file to you under the Apache License, 8 * Version 2.0 (the "License"); you may not use this file except 9 * in compliance with the License. You may obtain a copy of the 10 * License at 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, 15 * software distributed under the License is distributed on an 16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 17 * either express or implied. See the License for the specific 18 * language governing permissions and limitations under the License. 19 */ 20 21 /** 22 * @file saml/util/SAMLConstants.h 23 * 24 * SAML XML namespace constants. 25 */ 26 27 #ifndef __saml_xmlconstants_h__ 28 #define __saml_xmlconstants_h__ 29 30 #include <saml/base.h> 31 #include <xercesc/util/XercesDefs.hpp> 32 33 /** 34 * SAML-related constants. 35 */ 36 namespace samlconstants { 37 38 /** Liberty PAOS XML Namespace ("urn:liberty:paos:2003-08") */ 39 extern SAML_API const XMLCh PAOS_NS[]; 40 41 /** Liberty PAOS QName prefix ("paos") */ 42 extern SAML_API const XMLCh PAOS_PREFIX[]; 43 44 /** SAML 1.X Assertion XML namespace ("urn:oasis:names:tc:SAML:1.0:assertion") */ 45 extern SAML_API const XMLCh SAML1_NS[]; 46 47 /** SAML 1.X Protocol XML namespace ("urn:oasis:names:tc:SAML:1.0:protocol") */ 48 extern SAML_API const XMLCh SAML1P_NS[]; 49 50 /** SAML 1.X Assertion QName prefix ("saml") */ 51 extern SAML_API const XMLCh SAML1_PREFIX[]; 52 53 /** SAML 1.X Protocol QName prefix ("samlp") */ 54 extern SAML_API const XMLCh SAML1P_PREFIX[]; 55 56 /** SAML 2.0 Version ("2.0") */ 57 extern SAML_API const XMLCh SAML20_VERSION[]; 58 59 /** SAML 2.0 Assertion XML namespace ("urn:oasis:names:tc:SAML:2.0:assertion") */ 60 extern SAML_API const XMLCh SAML20_NS[]; 61 62 /** SAML 2.0 Protocol XML namespace ("urn:oasis:names:tc:SAML:2.0:protocol") */ 63 extern SAML_API const XMLCh SAML20P_NS[]; 64 65 /** SAML 2.0 Metadata XML namespace ("urn:oasis:names:tc:SAML:2.0:metadata") */ 66 extern SAML_API const XMLCh SAML20MD_NS[]; 67 68 /** SAML 2.0 AuthnContext XML namespace ("urn:oasis:names:tc:SAML:2.0:ac") */ 69 extern SAML_API const XMLCh SAML20AC_NS[]; 70 71 /** SAML 2.0 Assertion QName prefix ("saml") */ 72 extern SAML_API const XMLCh SAML20_PREFIX[]; 73 74 /** SAML 2.0 Protocol QName prefix ("samlp") */ 75 extern SAML_API const XMLCh SAML20P_PREFIX[]; 76 77 /** SAML 2.0 Metadata QName prefix ("md") */ 78 extern SAML_API const XMLCh SAML20MD_PREFIX[]; 79 80 /** SAML 2.0 AuthnContext QName prefix ("ac") */ 81 extern SAML_API const XMLCh SAML20AC_PREFIX[]; 82 83 /** SAML 2.0 Enhanced Client/Proxy SSO Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */ 84 extern SAML_API const XMLCh SAML20ECP_NS[]; 85 86 /** SAML 2.0 Enhanced Client/Proxy SSO Profile QName prefix ("ecp") */ 87 extern SAML_API const XMLCh SAML20ECP_PREFIX[]; 88 89 /** SAML 2.0 DCE PAC Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:DCE") */ 90 extern SAML_API const XMLCh SAML20DCE_NS[]; 91 92 /** SAML 2.0 DCE PAC Attribute Profile QName prefix ("DCE") */ 93 extern SAML_API const XMLCh SAML20DCE_PREFIX[]; 94 95 /** SAML 2.0 X.500 Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500") */ 96 extern SAML_API const XMLCh SAML20X500_NS[]; 97 98 /** SAML 2.0 X.500 Attribute Profile QName prefix ("x500") */ 99 extern SAML_API const XMLCh SAML20X500_PREFIX[]; 100 101 /** SAML 2.0 XACML Attribute Profile XML Namespace ("urn:oasis:names:tc:SAML:2.0:profiles:attribute:XACML") */ 102 extern SAML_API const XMLCh SAML20XACML_NS[]; 103 104 /** SAML 2.0 XACML Attribute Profile QName prefix ("xacmlprof") */ 105 extern SAML_API const XMLCh SAML20XACML_PREFIX[]; 106 107 /** SAML 1.x Metadata Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:v1metadata") */ 108 extern SAML_API const XMLCh SAML1MD_NS[]; 109 110 /** SAML 1.x Metadata Profile QName prefix ("saml1md") */ 111 extern SAML_API const XMLCh SAML1MD_PREFIX[]; 112 113 /** SAML 1.0 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.0:protocol") */ 114 extern SAML_API const XMLCh SAML10_PROTOCOL_ENUM[]; 115 116 /** SAML 1.1 Protocol Enumeration constant ("urn:oasis:names:tc:SAML:1.1:protocol") */ 117 extern SAML_API const XMLCh SAML11_PROTOCOL_ENUM[]; 118 119 /** SAML Query Requester Metadata Extension XML Namespace ("urn:oasis:names:tc:SAML:metadata:ext:query") */ 120 extern SAML_API const XMLCh SAML20MD_QUERY_EXT_NS[]; 121 122 /** SAML Query Requester Metadata Extension QName prefix ("query") */ 123 extern SAML_API const XMLCh SAML20MD_QUERY_EXT_PREFIX[]; 124 125 /** SAML Third-Party Request Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:protocol:ext:third-party") */ 126 extern SAML_API const XMLCh SAML20P_THIRDPARTY_EXT_NS[]; 127 128 /** SAML Third-Party Request Protocol Extension QName prefix ("thrpty") */ 129 extern SAML_API const XMLCh SAML20P_THIRDPARTY_EXT_PREFIX[]; 130 131 /** SAML Asynchronous Logout Protocol Extension XML Namespace ("urn:oasis:names:tc:SAML:2.0:protocol:ext:async-slo") */ 132 extern SAML_API const XMLCh SAML20P_ASYNCSLO_EXT_NS[]; 133 134 /** SAML Asynchronous Logout Protocol Extension QName prefix ("aslo") */ 135 extern SAML_API const XMLCh SAML20P_ASYNCSLO_EXT_PREFIX[]; 136 137 /** SAML Attribute Extension XML Namespace ("urn:oasis:names:tc:SAML:attribute:ext") */ 138 extern SAML_API const XMLCh SAML20_ATTRIBUTE_EXT_NS[]; 139 140 /** SAML Attribute Extension QName prefix ("ext") */ 141 extern SAML_API const XMLCh SAML20_ATTRIBUTE_EXT_PREFIX[]; 142 143 /** SAML Metadata Extension for Algorithm Support XML Namespace ("urn:oasis:names:tc:SAML:metadata:algsupport") */ 144 extern SAML_API const XMLCh SAML20MD_ALGSUPPORT_NS[]; 145 146 /** SAML Metadata Extension for Algorithm Support QName prefix ("alg") */ 147 extern SAML_API const XMLCh SAML20MD_ALGSUPPORT_PREFIX[]; 148 149 /** SAML Metadata Extension for Entity Attributes XML Namespace ("urn:oasis:names:tc:SAML:metadata:attribute") */ 150 extern SAML_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_NS[]; 151 152 /** SAML Metadata Extension for Entity Attributes QName prefix ("mdattr") */ 153 extern SAML_API const XMLCh SAML20MD_ENTITY_ATTRIBUTE_PREFIX[]; 154 155 /** SAML Metadata Extension for Discovery and Login UI XML Namespace ("urn:oasis:names:tc:SAML:metadata:ui") */ 156 extern SAML_API const XMLCh SAML20MD_UI_NS[]; 157 158 /** SAML Metadata Extension for Discovery and Login UI QName prefix ("mdui") */ 159 extern SAML_API const XMLCh SAML20MD_UI_PREFIX[]; 160 161 /** SAML Metadata Extension for Registration and Publication Information XML Namespace ("urn:oasis:names:tc:SAML:metadata:rpi") */ 162 extern SAML_API const XMLCh SAML20MD_RPI_NS[]; 163 164 /** SAML Metadata Extension for Registration and Publication Information QName prefix ("mdrpi") */ 165 extern SAML_API const XMLCh SAML20MD_RPI_PREFIX[]; 166 167 /** SAML Condition for Delegation Restriction XML Namespace ("urn:oasis:names:tc:SAML:2.0:conditions:delegation") */ 168 extern SAML_API const XMLCh SAML20_DELEGATION_CONDITION_NS[]; 169 170 /** SAML Condition for Delegation Restriction QName prefix ("del") */ 171 extern SAML_API const XMLCh SAML20_DELEGATION_CONDITION_PREFIX[]; 172 173 /** Identity Provider Discovery Protocol and Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol") */ 174 extern SAML_API const XMLCh IDP_DISCOVERY_PROTOCOL_NS[]; 175 176 /** Identity Provider Discovery Protocol and Profile QName prefix ("idpdisc") */ 177 extern SAML_API const XMLCh IDP_DISCOVERY_PROTOCOL_PREFIX[]; 178 179 /** Service Provider Request Initiation Protocol and Profile XML Namespace ("urn:oasis:names:tc:SAML:profiles:SSO:request-init") */ 180 extern SAML_API const XMLCh SP_REQUEST_INIT_NS[]; 181 182 /** Service Provider Request Initiation Protocol and Profile QName prefix ("init") */ 183 extern SAML_API const XMLCh SP_REQUEST_INIT_PREFIX[]; 184 185 /** SAML 1.x SOAP binding ("urn:oasis:names:tc:SAML:1.0:bindings:SOAP-binding") */ 186 extern SAML_API const char SAML1_BINDING_SOAP[]; 187 188 /** SAML 1.x Browser Artifact profile ("urn:oasis:names:tc:SAML:1.0:profiles:artifact-01") */ 189 extern SAML_API const char SAML1_PROFILE_BROWSER_ARTIFACT[]; 190 191 /** SAML 1.x Browser POST profile ("urn:oasis:names:tc:SAML:1.0:profiles:browser-post") */ 192 extern SAML_API const char SAML1_PROFILE_BROWSER_POST[]; 193 194 /** SAML 2.0 Browser SSO Profile ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser") */ 195 extern SAML_API const char SAML20_PROFILE_SSO_BROWSER[]; 196 197 /** SAML 2.0 Enhanced Client/Proxy SSO Profile ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp") */ 198 extern SAML_API const char SAML20_PROFILE_SSO_ECP[]; 199 200 /** SAML 2.0 Logout Profile ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:logout") */ 201 extern SAML_API const char SAML20_PROFILE_SSO_LOGOUT[]; 202 203 /** SAML 2.0 NameID Management Profile ("urn:oasis:names:tc:SAML:2.0:profiles:SSO:nameid-mgmt") */ 204 extern SAML_API const char SAML20_PROFILE_SSO_NAMEID_MGMT[]; 205 206 /** SAML 2.0 Artifact Resolution Profile ("urn:oasis:names:tc:SAML:2.0:profiles:artifact") */ 207 extern SAML_API const char SAML20_PROFILE_ARTIFACT[]; 208 209 /** SAML 2.0 Query Profile ("urn:oasis:names:tc:SAML:2.0:profiles:query") */ 210 extern SAML_API const char SAML20_PROFILE_QUERY[]; 211 212 /** SAML 2.0 SOAP binding ("urn:oasis:names:tc:SAML:2.0:bindings:SOAP") */ 213 extern SAML_API const char SAML20_BINDING_SOAP[]; 214 215 /** SAML 2.0 PAOS binding ("urn:oasis:names:tc:SAML:2.0:bindings:PAOS") */ 216 extern SAML_API const char SAML20_BINDING_PAOS[]; 217 218 /** SAML 2.0 URI binding ("urn:oasis:names:tc:SAML:2.0:bindings:URI") */ 219 extern SAML_API const char SAML20_BINDING_URI[]; 220 221 /** SAML 2.0 HTTP-Artifact binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact") */ 222 extern SAML_API const char SAML20_BINDING_HTTP_ARTIFACT[]; 223 224 /** SAML 2.0 HTTP-POST binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST") */ 225 extern SAML_API const char SAML20_BINDING_HTTP_POST[]; 226 227 /** SAML 2.0 HTTP-POST-SimpleSign binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign") */ 228 extern SAML_API const char SAML20_BINDING_HTTP_POST_SIMPLESIGN[]; 229 230 /** SAML 2.0 HTTP-Redirect binding ("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect") */ 231 extern SAML_API const char SAML20_BINDING_HTTP_REDIRECT[]; 232 233 /** SAML 2.0 HTTP-Redirect DEFLATE URL encoding ("urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE") */ 234 extern SAML_API const char SAML20_BINDING_URL_ENCODING_DEFLATE[]; 235 }; 236 237 #endif /* __saml_xmlconstants_h__ */ 238