<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<xs:schema targetNamespace="http://geronimo.apache.org/xml/ns/geronimo-jaspi" | |
xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi" | |
xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" | |
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" | |
elementFormDefault="qualified" | |
attributeFormDefault="unqualified" | |
jaxb:extensionBindingPrefixes="xjc" | |
jaxb:version="2.0"> | |
<xs:annotation> | |
<xs:appinfo> | |
<jaxb:globalBindings> | |
<xjc:serializable uid="12343"/> | |
</jaxb:globalBindings> | |
</xs:appinfo> | |
</xs:annotation> | |
<xs:annotation> | |
<xs:documentation> | |
This is an XML Schema Definition for Geronimo JASPI implementation configurations. | |
</xs:documentation> | |
</xs:annotation> | |
<xs:element name="jaspi" type="jaspi:jaspiType"> | |
<xs:annotation> | |
<xs:documentation> | |
The jaspi element is the root element of the jaspi configuration file. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="configProvider" type="jaspi:configProviderType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single configProvider element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="clientAuthConfig" type="jaspi:clientAuthConfigType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single clientAuthConfig element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="clientAuthContext" type="jaspi:clientAuthContextType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single clientAuthContext element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="clientAuthModule" type="jaspi:authModuleType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single clientAuthModule element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthConfig" type="jaspi:serverAuthConfigType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single serverAuthConfig element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthContext" type="jaspi:serverAuthContextType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single serverAuthContext element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthModule" type="jaspi:authModuleType"> | |
<xs:annotation> | |
<xs:documentation> | |
Configuration of a single serverAuthModule element | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:complexType name="jaspiType"> | |
<xs:sequence> | |
<xs:element name="configProvider" type="jaspi:configProviderType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
Reference to configProvider element defined later in this xsd. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<!--<xs:complexType name="emptyType"/>--> | |
<xs:complexType name="configProviderType"> | |
<xs:sequence> | |
<xs:annotation> | |
<xs:documentation> | |
configProviderType configures a AuthConfigProvider | |
</xs:documentation> | |
</xs:annotation> | |
<xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
messageLayer specifies the type of message this configProvider works with, e.g Http | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="appContext" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
appContext is the name of the application in some profile-specified format | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="description" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
description of the config provider | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:choice> | |
<xs:sequence> | |
<xs:element name="className" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
class name of the config provider implementation | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="properties" | |
type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
The standard ConfigProviders take a Map(String, String) as a single constructor argument. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
<xs:sequence> | |
<xs:element name="clientAuthConfig" type="jaspi:clientAuthConfigType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
configures a ClientAuthConfig | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthConfig" type="jaspi:serverAuthConfigType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
configures a ServerAuthConfig | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:choice> | |
<xs:element name="persistent" type="xs:boolean" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
whether the configprovider is "persistent". so far it's not clear what this might mean. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="classLoaderName" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
name of classloader to load any needed classes (e.g. custom config providers, modules, policy stuff) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="clientAuthConfigType"> | |
<xs:sequence> | |
<xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
messageLayer specifies the type of message this configProvider works with, e.g Http | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="appContext" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
appContext is the name of the application in some profile-specified format | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="protected" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation> | |
value to be returned from isProtected. Meaning unknown. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="clientAuthContext" type="jaspi:clientAuthContextType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
configuration of a client auth context | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="clientAuthContextType"> | |
<xs:sequence> | |
<xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
messageLayer specifies the type of message this configProvider works with, e.g Http | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="appContext" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
appContext is the name of the application in some profile-specified format | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="clientAuthModule" type="jaspi:authModuleType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
client auth module in this auth context | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="serverAuthConfigType"> | |
<xs:sequence> | |
<xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
messageLayer specifies the type of message this configProvider works with, e.g Http | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="appContext" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
appContext is the name of the application in some profile-specified format | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="protected" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation> | |
value to be returned from isProtected. Meaning unknown. | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthContext" type="jaspi:serverAuthContextType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
configuration of a server auth context | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="serverAuthContextType"> | |
<xs:sequence> | |
<xs:element name="messageLayer" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
messageLayer specifies the type of message this configProvider works with, e.g Http | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="appContext" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
appContext is the name of the application in some profile-specified format | |
defaults to parents value if missing | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="authenticationContextID" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
the constant value to be returned from getAuthContextID(MessageInfo messageInfo) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="serverAuthModule" type="jaspi:authModuleType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
server auth module in this auth context | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="authModuleType"> | |
<xs:sequence> | |
<xs:element name="className" type="xs:string"> | |
<xs:annotation> | |
<xs:documentation> | |
class name of auth module | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="classLoaderName" type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
name of classloader to load any needed classes (e.g. custom config providers, modules, policy stuff) | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
<xs:element name="requestPolicy" type="jaspi:messagePolicyType" minOccurs="0"> | |
</xs:element> | |
<xs:element name="responsePolicy" type="jaspi:messagePolicyType" minOccurs="0"> | |
</xs:element> | |
<xs:element name="options" | |
type="xs:string" minOccurs="0"> | |
<xs:annotation> | |
<xs:documentation> | |
initialization options as a string-string map | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="messagePolicyType"> | |
<xs:sequence> | |
<xs:element name="targetPolicy" type="jaspi:targetPolicyType" minOccurs="0" maxOccurs="unbounded"> | |
<xs:annotation> | |
<xs:documentation> | |
target policy for the message policy | |
</xs:documentation> | |
</xs:annotation> | |
</xs:element> | |
</xs:sequence> | |
<xs:attribute name="mandatory" type="xs:boolean"> | |
<xs:annotation> | |
<xs:documentation> | |
supplies the isMandatory value of the policy | |
</xs:documentation> | |
</xs:annotation> | |
</xs:attribute> | |
</xs:complexType> | |
<xs:complexType name="targetPolicyType"> | |
<xs:sequence> | |
<xs:element name="protectionPolicy" type="jaspi:protectionPolicyType"> | |
</xs:element> | |
<xs:element name="target" type="jaspi:targetType" minOccurs="0" maxOccurs="unbounded"> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="protectionPolicyType"> | |
<xs:sequence> | |
<xs:element name="className" type="xs:string"> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
<xs:complexType name="targetType"> | |
<xs:sequence> | |
<xs:element name="className" type="xs:string"> | |
</xs:element> | |
</xs:sequence> | |
</xs:complexType> | |
</xs:schema> |