You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
586 lines
28 KiB
586 lines
28 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
|
|
|
<xs:element name="Providers">
|
|
<xs:annotation>
|
|
<xs:documentation>The list of providers generated by the OpenIddict generator.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Provider" minOccurs="1" maxOccurs="unbounded">
|
|
<xs:annotation>
|
|
<xs:documentation>A provider definition used by the OpenIddict generator.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Environment" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>An environment supported by the provider.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Configuration" minOccurs="0" maxOccurs="1">
|
|
<xs:annotation>
|
|
<xs:documentation>The static configuration used for the environment, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="CodeChallengeMethod" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The code challenge methods supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The code challenge method name (e.g S256).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="plain" />
|
|
<xs:enumeration value="S256" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="DeviceAuthorizationEndpointAuthMethod" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The device authorization endpoint authentication methods supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The device authorization endpoint authentication method name (e.g client_secret_basic).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="client_secret_basic" />
|
|
<xs:enumeration value="client_secret_post" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="GrantType" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The grant types supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The grant type name (e.g authorization_code).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="authorization_code" />
|
|
<xs:enumeration value="client_credentials" />
|
|
<xs:enumeration value="implicit" />
|
|
<xs:enumeration value="password" />
|
|
<xs:enumeration value="refresh_token" />
|
|
<xs:enumeration value="urn:ietf:params:oauth:grant-type:device_code" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="ResponseMode" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The response modes supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The response mode name (e.g form_post).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="form_post" />
|
|
<xs:enumeration value="fragment" />
|
|
<xs:enumeration value="query" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="ResponseType" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The response types supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The response type name (e.g code id_token).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="code" />
|
|
<xs:enumeration value="code id_token" />
|
|
<xs:enumeration value="code id_token token" />
|
|
<xs:enumeration value="code token" />
|
|
<xs:enumeration value="id_token" />
|
|
<xs:enumeration value="id_token token" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Scope" minOccurs="0" maxOccurs="50">
|
|
<xs:annotation>
|
|
<xs:documentation>The scopes supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:annotation>
|
|
<xs:documentation>The scope name (e.g openid).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:attribute name="Value" type="xs:string" use="required" />
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="IntrospectionEndpointAuthMethod" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The introspection endpoint authentication methods supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The introspection endpoint authentication method name (e.g client_secret_basic).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="client_secret_basic" />
|
|
<xs:enumeration value="client_secret_post" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="RevocationEndpointAuthMethod" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The revocation endpoint authentication methods supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The revocation endpoint authentication method name (e.g client_secret_basic).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="client_secret_basic" />
|
|
<xs:enumeration value="client_secret_post" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="TokenEndpointAuthMethod" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>The token endpoint authentication methods supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The token endpoint authentication method name (e.g client_secret_basic).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="client_secret_basic" />
|
|
<xs:enumeration value="client_secret_post" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="AuthorizationEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The authorization endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="DeviceAuthorizationEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The device authorization endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="IntrospectionEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The introspection endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="RevocationEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The revocation endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="TokenEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The token endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="UserinfoEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The userinfo endpoint offered by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Scope" minOccurs="0" maxOccurs="50">
|
|
<xs:annotation>
|
|
<xs:documentation>A scope supported by the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The scope value (e.g address or phone).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Default" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the scope is automatically added if no other scope is added by the user.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Required" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the scope is always added even if another scope is already added by the user.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="Issuer" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The issuer URI corresponding to the environment.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="ConfigurationEndpoint" type="xs:string" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The URI of the configuration endpoint, if the provider supports server metadata and the URI differs from the standard value.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Name" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The environment name (by default, Production).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^[A-Z][a-zA-Z]*$" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Property" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>A custom, user-set authentication property supported by the provider integration.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The name of the constant used to represent the property.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^[A-Z][a-zA-Z0-9]*$" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="DictionaryKey" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The key associated with the property, used as the dictionary lookup value.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^\.[a-z_]*$" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Setting" minOccurs="0" maxOccurs="10">
|
|
<xs:annotation>
|
|
<xs:documentation>A custom setting exposed by the provider integration.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Item" minOccurs="0" maxOccurs="50">
|
|
<xs:annotation>
|
|
<xs:documentation>An item added by default to the collection, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The value of the item.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Default" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the item is automatically added if no other item is added by the user.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Required" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the item is always added even if another item is already added by the user.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="EncryptionAlgorithm" minOccurs="0" maxOccurs="1">
|
|
<xs:annotation>
|
|
<xs:documentation>The encryption algorithm used with the encryption key, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The encryption algorithm name (e.g RSA-OAEP).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="A256KW" />
|
|
<xs:enumeration value="RSA-OAEP" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="SigningAlgorithm" minOccurs="0" maxOccurs="1">
|
|
<xs:annotation>
|
|
<xs:documentation>The signing algorithm used with the signing key, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:complexType>
|
|
<xs:attribute name="Value" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The signing algorithm name (e.g RS256).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="ES256" />
|
|
<xs:enumeration value="ES384" />
|
|
<xs:enumeration value="ES512" />
|
|
<xs:enumeration value="PS256" />
|
|
<xs:enumeration value="PS384" />
|
|
<xs:enumeration value="PS512" />
|
|
<xs:enumeration value="RS256" />
|
|
<xs:enumeration value="RS384" />
|
|
<xs:enumeration value="RS512" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="PropertyName" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The name of the property used to reference the setting in the options class.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^[A-Z][a-zA-Z0-9]*$" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="ParameterName" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The name of the parameter used to reference the setting in the builder methods.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="^[a-z][a-zA-Z0-9]*$" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Collection" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the setting is a collection.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Obsolete" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the setting is obsolete.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Type" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The setting type.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:enumeration value="Certificate" />
|
|
<xs:enumeration value="EncryptionKey" />
|
|
<xs:enumeration value="SigningKey" />
|
|
<xs:enumeration value="String" />
|
|
<xs:enumeration value="Uri" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Required" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>A boolean indicating whether the setting is required.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:boolean" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="DefaultValue" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The default value used if no value was explictly set by the user.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Description" type="xs:string" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The setting description.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="Name" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The provider name.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="DisplayName" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The provider display name (if unspecified, the provider name is used as the display name).</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string" />
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Id" use="required">
|
|
<xs:annotation>
|
|
<xs:documentation>The provider identifier, represented as a GUID.</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string">
|
|
<xs:pattern value="([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})|(\{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\})" />
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
</xs:attribute>
|
|
|
|
<xs:attribute name="Documentation" type="xs:anyURI" use="optional">
|
|
<xs:annotation>
|
|
<xs:documentation>The documentation URI, if applicable.</xs:documentation>
|
|
</xs:annotation>
|
|
</xs:attribute>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
</xs:schema>
|