[java-idp-oidc] 01/44: JOIDC-5 Initial version of the schema for OIDC RPs via SAML metadata.

Henri Mikkonen henri.mikkonen at iki.fi
Thu Oct 22 13:08:13 UTC 2020


This is an automated email from the git hooks/post-receive script.

hjmikkon pushed a commit to branch main
in repository java-idp-oidc.

View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=2eb62ef985fd0c550f44ad1e62a8473df12bfb29

commit 2eb62ef985fd0c550f44ad1e62a8473df12bfb29
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Wed Apr 15 15:58:57 2020 +0300

    JOIDC-5 Initial version of the schema for OIDC RPs via SAML metadata.
    
    https://issues.shibboleth.net/jira/browse/JOIDC-5
    
    A good location candidate for these files would be 'idp-saml-api'.
---
 .../idp/saml/oidc/xmlobject/ApplicationType.java   |  37 ++++++
 .../idp/saml/oidc/xmlobject/ClientUri.java         |  37 ++++++
 .../idp/saml/oidc/xmlobject/Constants.java         |  34 +++++
 .../idp/saml/oidc/xmlobject/DefaultAcrValue.java   |  37 ++++++
 .../idp/saml/oidc/xmlobject/GrantType.java         |  37 ++++++
 .../xmlobject/IdTokenEncryptionResponseAlg.java    |  37 ++++++
 .../xmlobject/IdTokenEncryptionResponseEnc.java    |  37 ++++++
 .../oidc/xmlobject/IdTokenSignedResponseAlg.java   |  37 ++++++
 .../idp/saml/oidc/xmlobject/InitiateLoginUri.java  |  37 ++++++
 .../idp/saml/oidc/xmlobject/JwksUri.java           |  37 ++++++
 .../oidc/xmlobject/MetadataValueSAMLObject.java    |  48 +++++++
 .../oidc/xmlobject/OAuthRPRoleDescriptorType.java  | 146 +++++++++++++++++++++
 .../saml/oidc/xmlobject/PostLogoutRedirectUri.java |  37 ++++++
 .../idp/saml/oidc/xmlobject/RedirectUri.java       |  37 ++++++
 .../RequestObjectEncryptionResponseAlg.java        |  37 ++++++
 .../RequestObjectEncryptionResponseEnc.java        |  37 ++++++
 .../xmlobject/RequestObjectSignedResponseAlg.java  |  37 ++++++
 .../idp/saml/oidc/xmlobject/RequestUri.java        |  37 ++++++
 .../idp/saml/oidc/xmlobject/ResponseType.java      |  37 ++++++
 .../shibboleth/idp/saml/oidc/xmlobject/Scope.java  |  37 ++++++
 .../saml/oidc/xmlobject/SectorIdentifierUri.java   |  37 ++++++
 .../idp/saml/oidc/xmlobject/SoftwareId.java        |  37 ++++++
 .../idp/saml/oidc/xmlobject/SoftwareVersion.java   |  37 ++++++
 .../idp/saml/oidc/xmlobject/SubjectType.java       |  37 ++++++
 .../oidc/xmlobject/TokenEndpointAuthMethod.java    |  37 ++++++
 .../xmlobject/TokenEndpointAuthSigningAlg.java     |  37 ++++++
 .../xmlobject/UserInfoEncryptionResponseAlg.java   |  37 ++++++
 .../xmlobject/UserInfoEncryptionResponseEnc.java   |  37 ++++++
 .../oidc/xmlobject/UserInfoSignedResponseAlg.java  |  37 ++++++
 .../resources/schema/saml-metadata-ext-oidcmd.xsd  |  84 ++++++++++++
 30 files changed, 1274 insertions(+)

diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ApplicationType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ApplicationType.java
new file mode 100644
index 00000000..362b3153
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ApplicationType.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ApplicationType'.
+ */
+public interface ApplicationType extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ApplicationType";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+    		SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientUri.java
new file mode 100644
index 00000000..ea77273e
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ClientUri'.
+ */
+public interface ClientUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Constants.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Constants.java
new file mode 100644
index 00000000..a8a90833
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Constants.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import org.opensaml.saml.common.xml.SAMLConstants;
+
+/**
+ * Constants related to SAML 2.0 Metadata extension OAuthRPRoleDescriptorType.
+ */
+public final class Constants {
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors prefi. */
+    public static final String SAML20MDOIDCMD_PREFIX = "oidcmd";
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors XML namespace. */
+    public static final String SAML20MDOIDCMD_NS = "urn:mace:shibboleth:metadata:oidc:1.0";
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors. */
+    public static final String SAML20MDOIDCMD_SCHEMA_LOCATION = SAMLConstants.SCHEMA_DIR + "saml-metadata-ext-oidcmd.xsd";    
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/DefaultAcrValue.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/DefaultAcrValue.java
new file mode 100644
index 00000000..614623d6
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/DefaultAcrValue.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'DefaultAcrValue'.
+ */
+public interface DefaultAcrValue extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "DefaultAcrValue";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/GrantType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/GrantType.java
new file mode 100644
index 00000000..af626e2a
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/GrantType.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'GrantType'.
+ */
+public interface GrantType extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "GrantType";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+    		SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseAlg.java
new file mode 100644
index 00000000..a6278133
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenEncryptionResponseAlg'.
+ */
+public interface IdTokenEncryptionResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptionResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseEnc.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseEnc.java
new file mode 100644
index 00000000..031cf3b3
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenEncryptionResponseEnc.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenEncryptionResponseEnc'.
+ */
+public interface IdTokenEncryptionResponseEnc extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenEncryptionResponseEnc";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenSignedResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenSignedResponseAlg.java
new file mode 100644
index 00000000..e0e2ac45
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/IdTokenSignedResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'IdTokenSignedResponseAlg'.
+ */
+public interface IdTokenSignedResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "IdTokenSignedResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/InitiateLoginUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/InitiateLoginUri.java
new file mode 100644
index 00000000..2e70f746
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/InitiateLoginUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'InitiateLoginUri'.
+ */
+public interface InitiateLoginUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "InitiateLoginUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/JwksUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/JwksUri.java
new file mode 100644
index 00000000..718ba363
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/JwksUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'JwksUri'.
+ */
+public interface JwksUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "JwksUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/MetadataValueSAMLObject.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/MetadataValueSAMLObject.java
new file mode 100644
index 00000000..a696d160
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/MetadataValueSAMLObject.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import org.opensaml.saml.common.SAMLObject;
+
+/**
+ * Abstract interface for SAML metadata objects containing single {@link String} value inside the element.
+ */
+public abstract interface MetadataValueSAMLObject extends SAMLObject {
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors prefi. */
+    public static final String SAML20MDOIDCMD_PREFIX = Constants.SAML20MDOIDCMD_PREFIX;
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors XML namespace. */
+    public static final String SAML20MDOIDCMD_NS = Constants.SAML20MDOIDCMD_NS;
+
+    /** SAML 2.0 Metadata extension for OAuth/OIDC descriptors. */
+    public static final String SAML20MDOIDCMD_SCHEMA_LOCATION = Constants.SAML20MDOIDCMD_SCHEMA_LOCATION;
+    
+    /**
+     * Get the value for this metadata object.
+     * 
+     * @return The value for this metadata object.
+     */
+    public String getValue();
+    
+    /**
+     * Set the value for this metadata object.
+     * 
+     * @param newValue What to set.
+     */
+    public void setValue(final String newValue);
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPRoleDescriptorType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPRoleDescriptorType.java
new file mode 100644
index 00000000..5c6454c9
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPRoleDescriptorType.java
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.opensaml.saml.saml2.metadata.RoleDescriptor;
+
+/**
+ * SAML 2.0 Metadata extension OAuthRPRoleDescriptorType.
+ */
+public interface OAuthRPRoleDescriptorType extends RoleDescriptor {
+    
+    /** Local name of the XSI type. */
+    public static final String TYPE_LOCAL_NAME = "OAuthRPRoleDescriptorType";
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(MetadataValueSAMLObject.SAML20MDOIDCMD_NS, TYPE_LOCAL_NAME,
+            MetadataValueSAMLObject.SAML20MDOIDCMD_PREFIX);
+    
+    /** "defaultMaxAge" attribute's local name. */
+    public static final String DEFAULT_MAX_AGE_ATTRIB_NAME = "defaultMaxAge";
+
+    /** "requireAuthTime" attribute's local name. */
+    public static final String REQUIRE_AUTH_TIME_ATTRIB_NAME = "requireAuthTime";
+
+    /**
+     * Gets the redirect URIs configured for this relying party.
+     * 
+     * @return the redirect URIs configured for this relying party.
+     */
+    public List<RedirectUri> getRedirectUris();
+    
+    public TokenEndpointAuthMethod getTokenEndpointAuthMethod();
+    
+    public void setTokenEndpointAuthMethod(final TokenEndpointAuthMethod method);
+    
+    public List<ResponseType> getResponseTypes();
+    
+    public List<GrantType> getGrantTypes();
+    
+    public ApplicationType getApplicationType();
+    
+    public void setApplicationType(final ApplicationType type);
+    
+    public ClientUri getClientUri();
+    
+    public void setClientUri(final ClientUri uri);
+    
+    public List<Scope> getScopes();
+    
+    public JwksUri getJwksUri();
+    
+    public void setJwksUri(final JwksUri uri);
+    
+    public SoftwareId getSoftwareId();
+    
+    public void setSoftwareId(final SoftwareId id);
+    
+    public SoftwareVersion getSoftwareVersion();
+    
+    public void setSoftwareVersion(final SoftwareVersion version);
+    
+    public SectorIdentifierUri getSectorIdentifierUri();
+    
+    public void setSectorIdentifierUri(final SectorIdentifierUri uri);
+
+    public SubjectType getSubjectType();
+    
+    public void setSubjectType(final SubjectType type);
+    
+    public IdTokenSignedResponseAlg getIdTokenSignedResponseAlg();
+    
+    public void setIdTokenSignedResponseAlg(final IdTokenSignedResponseAlg algorithm);
+
+    public IdTokenEncryptionResponseAlg getIdTokenEncryptionResponseAlg();
+    
+    public void setIdTokenEncryptionResponseAlg(final IdTokenEncryptionResponseAlg algorithm);
+
+    public IdTokenEncryptionResponseEnc getIdTokenEncryptionResponseEnc();
+    
+    public void setIdTokenEncryptionResponseEnc(final IdTokenEncryptionResponseEnc algorithm);
+
+    public UserInfoSignedResponseAlg getUserInfoSignedResponseAlg();
+    
+    public void setUserInfoSignedResponseAlg(final UserInfoSignedResponseAlg algorithm);
+    
+    public UserInfoEncryptionResponseAlg getUserInfoEncryptionResponseAlg();
+    
+    public void setUserInfoEncryptionResponseAlg(final UserInfoEncryptionResponseAlg algorithm);
+
+    public UserInfoEncryptionResponseEnc getUserInfoEncryptionResponseEnc();
+    
+    public void setUserInfoEncryptionResponseEnc(final UserInfoEncryptionResponseEnc algorithm);
+    
+    public RequestObjectSignedResponseAlg getRequestObjectSignedResponseAlg();
+    
+    public void setRequestObjectSignedResponseAlg(final RequestObjectSignedResponseAlg algorithm);
+    
+    public RequestObjectEncryptionResponseAlg getRequestObjectEncryptionResponseAlg();
+    
+    public void setRequestObjectEncryptionResponseAlg(final RequestObjectEncryptionResponseAlg algorithm);
+
+    public RequestObjectEncryptionResponseEnc getRequestObjectEncryptionResponseEnc();
+    
+    public void setRequestObjectEncryptionResponseEnc(final RequestObjectEncryptionResponseEnc algorithm);
+    
+    public TokenEndpointAuthSigningAlg getTokenEndpointAuthSigningAlg();
+    
+    public void setTokenEndpointAuthSigningAlg(final TokenEndpointAuthSigningAlg algorithm);
+    
+    public List<DefaultAcrValue> getDefaultAcrValues();
+    
+    public InitiateLoginUri getInitiateLoginUri();
+    
+    public void setInitiateLoginUri(final InitiateLoginUri uri);
+    
+    public List<RequestUri> getRequestUris();
+    
+    public List<PostLogoutRedirectUri> getPostLogoutRedirectUris();
+    
+    public int getDefaultMaxAge();
+    
+    public void setDefaultMaxAge(final int age);
+    
+    public boolean isRequireAuthTime();
+    
+    public void setRequireAuthTime(final boolean flag);
+
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/PostLogoutRedirectUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/PostLogoutRedirectUri.java
new file mode 100644
index 00000000..bed5071c
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/PostLogoutRedirectUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'PostLogoutRedirectUri'.
+ */
+public interface PostLogoutRedirectUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "PostLogoutRedirectUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RedirectUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RedirectUri.java
new file mode 100644
index 00000000..e7df3381
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RedirectUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RedirectUri'.
+ */
+public interface RedirectUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RedirectUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+    		SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseAlg.java
new file mode 100644
index 00000000..c041431a
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectEncryptionResponseAlg'.
+ */
+public interface RequestObjectEncryptionResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseEnc.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseEnc.java
new file mode 100644
index 00000000..68706e38
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectEncryptionResponseEnc.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectEncryptionResponseEnc'.
+ */
+public interface RequestObjectEncryptionResponseEnc extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectEncryptionResponseEnc";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectSignedResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectSignedResponseAlg.java
new file mode 100644
index 00000000..921a80c5
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestObjectSignedResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestObjectSignedResponseAlg'.
+ */
+public interface RequestObjectSignedResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestObjectSignedResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestUri.java
new file mode 100644
index 00000000..f5dfff5a
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/RequestUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'RequestUri'.
+ */
+public interface RequestUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "RequestUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ResponseType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ResponseType.java
new file mode 100644
index 00000000..3c8f0da2
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ResponseType.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'ResponseType'.
+ */
+public interface ResponseType extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ResponseType";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+    		SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Scope.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Scope.java
new file mode 100644
index 00000000..baa9f57d
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/Scope.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'Scope'.
+ */
+public interface Scope extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "Scope";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SectorIdentifierUri.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SectorIdentifierUri.java
new file mode 100644
index 00000000..01e09383
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SectorIdentifierUri.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SectorIdentifierUri'.
+ */
+public interface SectorIdentifierUri extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SectorIdentifierUri";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareId.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareId.java
new file mode 100644
index 00000000..a2d350c6
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareId.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SoftwareId'.
+ */
+public interface SoftwareId extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareId";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareVersion.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareVersion.java
new file mode 100644
index 00000000..a90eb7b3
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SoftwareVersion.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SoftwareVersion'.
+ */
+public interface SoftwareVersion extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SoftwareVersion";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SubjectType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SubjectType.java
new file mode 100644
index 00000000..763ef12c
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/SubjectType.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'SubjectType'.
+ */
+public interface SubjectType extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "SubjectType";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthMethod.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthMethod.java
new file mode 100644
index 00000000..fb601d6e
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthMethod.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'TokenEndpointAuthMethod'.
+ */
+public interface TokenEndpointAuthMethod extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthMethod";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthSigningAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthSigningAlg.java
new file mode 100644
index 00000000..88ad29e9
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/TokenEndpointAuthSigningAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'TokenEndpointAuthSigningAlg'.
+ */
+public interface TokenEndpointAuthSigningAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "TokenEndpointAuthSigningAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseAlg.java
new file mode 100644
index 00000000..ab053df0
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoEncryptionResponseAlg'.
+ */
+public interface UserInfoEncryptionResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptionResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseEnc.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseEnc.java
new file mode 100644
index 00000000..f3266016
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoEncryptionResponseEnc.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoEncryptionResponseEnc'.
+ */
+public interface UserInfoEncryptionResponseEnc extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoEncryptionResponseEnc";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoSignedResponseAlg.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoSignedResponseAlg.java
new file mode 100644
index 00000000..7e82bcd5
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/UserInfoSignedResponseAlg.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2017 - 2020, GÉANT
+ *
+ * Licensed 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.
+ */
+
+package net.shibboleth.idp.saml.oidc.xmlobject;
+
+import javax.xml.namespace.QName;
+
+/**
+ * SAML2 OIDC metadata extension 'UserInfoSignedResponseAlg'.
+ */
+public interface UserInfoSignedResponseAlg extends MetadataValueSAMLObject {
+
+    /** Element name, no namespace. */
+    public static final String DEFAULT_ELEMENT_LOCAL_NAME = "UserInfoSignedResponseAlg";
+
+    /** Default element name. */
+    public static final QName DEFAULT_ELEMENT_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+    /** QName of the XSI type. */
+    public static final QName TYPE_NAME = new QName(SAML20MDOIDCMD_NS, DEFAULT_ELEMENT_LOCAL_NAME,
+            SAML20MDOIDCMD_PREFIX);
+
+}
diff --git a/idp-oidc-extension-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd b/idp-oidc-extension-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
new file mode 100644
index 00000000..85319fcb
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/resources/schema/saml-metadata-ext-oidcmd.xsd
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" targetNamespace="urn:mace:shibboleth:metadata:oidc:1.0" elementFormDefault="unqualified" attributeFormDefault="unqualified" blockDefault="substitution" version="2.0">
+
+    <annotation>
+        <documentation>
+            Document title: SAML Metadata Extension Schema for OIDC OP/RP information.
+        </documentation>
+    </annotation>
+
+    <import namespace="urn:oasis:names:tc:SAML:2.0:metadata" schemaLocation="http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd"/>
+
+    <complexType name="OAuthRPRoleDescriptorType">
+        <complexContent>
+            <extension base="md:RoleDescriptorType">
+                <sequence>
+                    <element ref="oidcmd:RedirectUri" minOccurs="0" maxOccurs="unbounded"/>
+                    <element ref="oidcmd:TokenEndpointAuthMethod" minOccurs="0" maxOccurs="1"/> <!-- or unbounded? -->
+                    <element ref="oidcmd:GrantType" minOccurs="0" maxOccurs="unbounded"/>
+                    <element ref="oidcmd:ResponseType" minOccurs="0" maxOccurs="unbounded"/>
+                    <element ref="oidcmd:ApplicationType" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:ClientUri" minOccurs="0" maxOccurs="1" /> <!-- TODO localized -->
+                    <element ref="oidcmd:Scope" minOccurs="0" maxOccurs="unbounded" />
+                    <element ref="oidcmd:JwksUri" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:SoftwareId" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:SoftwareVersion" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:SectorIdentifierUri" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:SubjectType" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:IdTokenSignedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:IdTokenEncryptedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:IdTokenEncryptedResponseEnc" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:UserInfoSignedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:UserInfoEncryptedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:UserInfoEncryptedResponseEnc" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:RequestObjectSignedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:RequestObjectncryptedResponseAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:RequestObjectEncryptedResponseEnc" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:TokenEndpointAuthSigningAlg" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:DefaultAcrValue" minOccurs="0" maxOccurs="unbounded" />
+                    <element ref="oidcmd:InitiateLoginUri" minOccurs="0" maxOccurs="1" />
+                    <element ref="oidcmd:RequestUri" minOccurs="0" maxOccurs="unbounded" />
+                    <element ref="oidcmd:PostLogoutRedirectUri" minOccurs="0" maxOccurs="unbounded"/>
+                </sequence>
+                <attribute name="defaultMaxAge" type="int" use="optional" />
+                <attribute name="requireAuthTime" type="string" use="optional" />
+            </extension>
+        </complexContent>
+    </complexType>
+
+    <element name="RedirectUri" type="anyURI" />
+    <element name="TokenEndpointAuthMethod" type="anyURI" />
+    <element name="GrantType" type="anyURI" />
+    <element name="ResponseType" type="anyURI" />
+    <element name="ApplicationType" type="anyURI" />
+
+    <element name="ClientUri" type="anyURI" />
+    <element name="Scope" type="anyURI" />
+    <element name="JwksUri" type="anyURI" />
+    <element name="SoftwareId" type="anyURI" />
+    <element name="SoftwareVersion" type="anyURI" />
+    <element name="SectorIdentifierUri" type="anyURI" />
+    <element name="SubjectType" type="anyURI" />
+
+    <element name="IdTokenSignedResponseAlg" type="anyURI" />
+    <element name="IdTokenEncryptionResponseAlg" type="anyURI" />
+    <element name="IdTokenEncryptionResponseEnc" type="anyURI" />
+    <element name="UserInfoSignedResponseAlg" type="anyURI" />
+    <element name="UserInfoEncryptionResponseAlg" type="anyURI" />
+    <element name="UserInfoEncryptionResponseEnc" type="anyURI" />
+    <element name="RequestObjectSignedResponseAlg" type="anyURI" />
+    <element name="RequestObjectEncryptionResponseAlg" type="anyURI" />
+    <element name="RequestObjectEncryptionResponseEnc" type="anyURI" />
+    <element name="TokenEndpointAuthSigningAlg" type="anyURI" />
+    <element name="DefaultAcrValue" type="anyURI" />
+    <element name="InitiateLoginUri" type="anyURI" />
+    <element name="RequestUri" type="anyURI" />
+    <element name="PostLogoutRedirectUri" type="anyURI" />
+
+    <complexType name="OIDCRPRoleDescriptorType">
+        <complexContent>
+            <extension base="oidcmd:OAuthRPRoleDescriptorType"/>
+        </complexContent>
+    </complexType>
+
+</schema>

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list