[java-idp-oidc] 05/44: JOIDC-5 Refactoring: use SPSSODescriptor instead of custom RP type.
Henri Mikkonen
henri.mikkonen at iki.fi
Thu Oct 22 13:08:17 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=3c4e3fcd1cf79147d662666776b86d9c53649801
commit 3c4e3fcd1cf79147d662666776b86d9c53649801
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Fri Apr 17 14:50:16 2020 +0300
JOIDC-5 Refactoring: use SPSSODescriptor instead of custom RP type.
https://issues.shibboleth.net/jira/browse/JOIDC-5
RP metadata is located in SPSSODescriptor/Extensions/OAuthRPExtensions
---
.../idp/saml/oidc/xmlobject/ClientSecret.java | 37 +++++
.../idp/saml/oidc/xmlobject/JwksData.java | 37 +++++
...eDescriptorType.java => OAuthRPExtensions.java} | 8 +-
.../resources/schema/saml-metadata-ext-oidcmd.xsd | 18 +--
.../oidc/xmlobject/impl/ClientSecretBuilder.java | 46 ++++++
...orTypeMarshaller.java => ClientSecretImpl.java} | 21 ++-
...Marshaller.java => ClientSecretMarshaller.java} | 11 +-
...rshaller.java => ClientSecretUnmarshaller.java} | 11 +-
.../saml/oidc/xmlobject/impl/JwksDataBuilder.java | 46 ++++++
...riptorTypeMarshaller.java => JwksDataImpl.java} | 21 ++-
...TypeMarshaller.java => JwksDataMarshaller.java} | 11 +-
...peMarshaller.java => JwksDataUnmarshaller.java} | 11 +-
...eBuilder.java => OAuthRPExtensionsBuilder.java} | 16 +-
...torTypeImpl.java => OAuthRPExtensionsImpl.java} | 24 +--
...aller.java => OAuthRPExtensionsMarshaller.java} | 6 +-
...ler.java => OAuthRPExtensionsUnmarshaller.java} | 22 +--
.../resources/saml2-metadata-oidcmd-config.xml | 20 ++-
.../impl/EntitiesDescriptor-with-oidcmd.xml | 172 ++++++++++++---------
18 files changed, 371 insertions(+), 167 deletions(-)
diff --git a/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientSecret.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientSecret.java
new file mode 100644
index 00000000..c64b8699
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/ClientSecret.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 'ClientSecret'.
+ */
+public interface ClientSecret extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "ClientSecret";
+
+ /** 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/JwksData.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/JwksData.java
new file mode 100644
index 00000000..e9ece14f
--- /dev/null
+++ b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/JwksData.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 'JwksData'.
+ */
+public interface JwksData extends MetadataValueSAMLObject {
+
+ /** Element name, no namespace. */
+ public static final String DEFAULT_ELEMENT_LOCAL_NAME = "JwksData";
+
+ /** 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/OAuthRPRoleDescriptorType.java b/idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPExtensions.java
similarity index 94%
rename from idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPRoleDescriptorType.java
rename to idp-oidc-extension-api/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/OAuthRPExtensions.java
index 5c6454c9..33b55d38 100644
--- 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/OAuthRPExtensions.java
@@ -20,15 +20,15 @@ import java.util.List;
import javax.xml.namespace.QName;
-import org.opensaml.saml.saml2.metadata.RoleDescriptor;
+import org.opensaml.saml.common.SAMLObject;
/**
- * SAML 2.0 Metadata extension OAuthRPRoleDescriptorType.
+ * SAML 2.0 Metadata extension OAuthRPExtensions.
*/
-public interface OAuthRPRoleDescriptorType extends RoleDescriptor {
+public interface OAuthRPExtensions extends SAMLObject {
/** Local name of the XSI type. */
- public static final String TYPE_LOCAL_NAME = "OAuthRPRoleDescriptorType";
+ public static final String TYPE_LOCAL_NAME = "OAuthRPExtensions";
/** QName of the XSI type. */
public static final QName TYPE_NAME = new QName(MetadataValueSAMLObject.SAML20MDOIDCMD_NS, TYPE_LOCAL_NAME,
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
index 85319fcb..62296a78 100644
--- 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
@@ -9,18 +9,15 @@
<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">
+ <complexType name="OAuthRPExtensions">
<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" />
@@ -42,7 +39,6 @@
</sequence>
<attribute name="defaultMaxAge" type="int" use="optional" />
<attribute name="requireAuthTime" type="string" use="optional" />
- </extension>
</complexContent>
</complexType>
@@ -54,7 +50,9 @@
<element name="ClientUri" type="anyURI" />
<element name="Scope" type="anyURI" />
- <element name="JwksUri" type="anyURI" />
+ <element name="ClientSecret" type="anyURI" />
+ <element name="JwkSet" type="anyURI" />
+ <element name="JwkSetUri" type="anyURI" />
<element name="SoftwareId" type="anyURI" />
<element name="SoftwareVersion" type="anyURI" />
<element name="SectorIdentifierUri" type="anyURI" />
@@ -74,11 +72,7 @@
<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>
+
+ <element name="JwksData" type="anyURI" />
</schema>
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretBuilder.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretBuilder.java
new file mode 100644
index 00000000..814b3c03
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretBuilder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.idp.saml.oidc.xmlobject.ClientSecret;
+import net.shibboleth.idp.saml.oidc.xmlobject.Constants;
+
+/**
+ * Builder of {@link ClientSecretImpl}.
+ */
+public class ClientSecretBuilder extends AbstractSAMLObjectBuilder<ClientSecret> {
+
+ /**
+ * Constructor.
+ */
+ public ClientSecretBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecret buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, ClientSecret.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public ClientSecret buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new ClientSecretImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretImpl.java
similarity index 50%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretImpl.java
index 20b22543..f5418f15 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretImpl.java
@@ -16,14 +16,21 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.ClientSecret;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * Concrete implementation of {@link ClientSecret}.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class ClientSecretImpl extends AbstractMetadataValueSAMLObject implements ClientSecret {
- //TODO
-}
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected ClientSecretImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretMarshaller.java
similarity index 68%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretMarshaller.java
index 20b22543..614c5bbf 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretMarshaller.java
@@ -16,14 +16,11 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.ClientSecret;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * A thread safe Marshaller for {@link ClientSecret} objects.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class ClientSecretMarshaller extends AbstractMetadataValueMarshaller<ClientSecret> {
- //TODO
-}
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretUnmarshaller.java
similarity index 68%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretUnmarshaller.java
index 20b22543..d9adaf4d 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/ClientSecretUnmarshaller.java
@@ -16,14 +16,11 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.ClientSecret;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * A thread-safe Unmarshaller for {@link ClientSecret} objects.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class ClientSecretUnmarshaller extends AbstractMetadataValueUnmarshaller<ClientSecret> {
- //TODO
-}
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataBuilder.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataBuilder.java
new file mode 100644
index 00000000..c34bfc44
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataBuilder.java
@@ -0,0 +1,46 @@
+/*
+ * 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.impl;
+
+import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
+
+import net.shibboleth.idp.saml.oidc.xmlobject.JwksData;
+import net.shibboleth.idp.saml.oidc.xmlobject.Constants;
+
+/**
+ * Builder of {@link JwksDataImpl}.
+ */
+public class JwksDataBuilder extends AbstractSAMLObjectBuilder<JwksData> {
+
+ /**
+ * Constructor.
+ */
+ public JwksDataBuilder() {
+
+ }
+
+ /** {@inheritDoc} */
+ public JwksData buildObject() {
+ return buildObject(Constants.SAML20MDOIDCMD_NS, JwksData.DEFAULT_ELEMENT_LOCAL_NAME,
+ Constants.SAML20MDOIDCMD_PREFIX);
+ }
+
+ /** {@inheritDoc} */
+ public JwksData buildObject(final String namespaceURI, final String localName, final String namespacePrefix) {
+ return new JwksDataImpl(namespaceURI, localName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataImpl.java
similarity index 51%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataImpl.java
index 20b22543..6c6698c3 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataImpl.java
@@ -16,14 +16,21 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.JwksData;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * Concrete implementation of {@link JwksData}.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class JwksDataImpl extends AbstractMetadataValueSAMLObject implements JwksData {
- //TODO
-}
+ /**
+ * Constructor.
+ *
+ * @param namespaceURI the namespace the element is in
+ * @param elementLocalName the local name of the XML element this Object represents
+ * @param namespacePrefix the prefix for the given namespace
+ */
+ protected JwksDataImpl(final String namespaceURI, final String elementLocalName, final String namespacePrefix) {
+ super(namespaceURI, elementLocalName, namespacePrefix);
+ }
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataMarshaller.java
similarity index 68%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataMarshaller.java
index 20b22543..aaaf844b 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataMarshaller.java
@@ -16,14 +16,11 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.JwksData;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * A thread safe Marshaller for {@link JwksData} objects.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class JwksDataMarshaller extends AbstractMetadataValueMarshaller<JwksData> {
- //TODO
-}
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataUnmarshaller.java
similarity index 68%
copy from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
copy to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataUnmarshaller.java
index 20b22543..32b504bc 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/JwksDataUnmarshaller.java
@@ -16,14 +16,11 @@
package net.shibboleth.idp.saml.oidc.xmlobject.impl;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.JwksData;
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * A thread-safe Unmarshaller for {@link JwksData} objects.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class JwksDataUnmarshaller extends AbstractMetadataValueUnmarshaller<JwksData> {
- //TODO
-}
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeBuilder.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsBuilder.java
similarity index 64%
rename from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeBuilder.java
rename to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsBuilder.java
index 5892989a..91e8e093 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeBuilder.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsBuilder.java
@@ -19,30 +19,30 @@ package net.shibboleth.idp.saml.oidc.xmlobject.impl;
import org.opensaml.saml.common.AbstractSAMLObjectBuilder;
import net.shibboleth.idp.saml.oidc.xmlobject.MetadataValueSAMLObject;
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPExtensions;
/**
- * Builder of {@link OAuthRPRoleDescriptorTypeImpl} objects.
+ * Builder of {@link OAuthRPExtensions} objects.
*/
-public class OAuthRPRoleDescriptorTypeBuilder extends AbstractSAMLObjectBuilder<OAuthRPRoleDescriptorType> {
+public class OAuthRPExtensionsBuilder extends AbstractSAMLObjectBuilder<OAuthRPExtensions> {
/** Constructor. */
- public OAuthRPRoleDescriptorTypeBuilder() {
+ public OAuthRPExtensionsBuilder() {
}
/** {@inheritDoc} */
@Override
- public OAuthRPRoleDescriptorType buildObject() {
+ public OAuthRPExtensions buildObject() {
return buildObject(MetadataValueSAMLObject.SAML20MDOIDCMD_NS,
- OAuthRPRoleDescriptorType.DEFAULT_ELEMENT_LOCAL_NAME,
+ OAuthRPExtensions.TYPE_LOCAL_NAME,
MetadataValueSAMLObject.SAML20MDOIDCMD_PREFIX);
}
/** {@inheritDoc} */
@Override
- public OAuthRPRoleDescriptorType buildObject(final String namespaceURI, final String localName,
+ public OAuthRPExtensions buildObject(final String namespaceURI, final String localName,
final String namespacePrefix) {
- return new OAuthRPRoleDescriptorTypeImpl(namespaceURI, localName, namespacePrefix);
+ return new OAuthRPExtensionsImpl(namespaceURI, localName, namespacePrefix);
}
}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeImpl.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsImpl.java
similarity index 97%
rename from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeImpl.java
rename to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsImpl.java
index 23bb6093..e1642429 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeImpl.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsImpl.java
@@ -21,6 +21,10 @@ import java.util.List;
import javax.xml.namespace.QName;
+import org.opensaml.core.xml.util.XMLObjectChildrenList;
+import org.opensaml.saml.saml2.metadata.Endpoint;
+import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorImpl;
+
import net.shibboleth.idp.saml.oidc.xmlobject.ApplicationType;
import net.shibboleth.idp.saml.oidc.xmlobject.ClientUri;
import net.shibboleth.idp.saml.oidc.xmlobject.DefaultAcrValue;
@@ -30,7 +34,7 @@ import net.shibboleth.idp.saml.oidc.xmlobject.IdTokenEncryptionResponseEnc;
import net.shibboleth.idp.saml.oidc.xmlobject.IdTokenSignedResponseAlg;
import net.shibboleth.idp.saml.oidc.xmlobject.InitiateLoginUri;
import net.shibboleth.idp.saml.oidc.xmlobject.JwksUri;
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPExtensions;
import net.shibboleth.idp.saml.oidc.xmlobject.PostLogoutRedirectUri;
import net.shibboleth.idp.saml.oidc.xmlobject.RedirectUri;
import net.shibboleth.idp.saml.oidc.xmlobject.RequestObjectEncryptionResponseAlg;
@@ -49,14 +53,10 @@ import net.shibboleth.idp.saml.oidc.xmlobject.UserInfoEncryptionResponseAlg;
import net.shibboleth.idp.saml.oidc.xmlobject.UserInfoEncryptionResponseEnc;
import net.shibboleth.idp.saml.oidc.xmlobject.UserInfoSignedResponseAlg;
-import org.opensaml.core.xml.util.XMLObjectChildrenList;
-import org.opensaml.saml.saml2.metadata.Endpoint;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorImpl;
-
/**
- * Implementation for {@link OAuthRPRoleDescriptorType}.
+ * Implementation for {@link OAuthRPExtensions}.
*/
-public class OAuthRPRoleDescriptorTypeImpl extends RoleDescriptorImpl implements OAuthRPRoleDescriptorType {
+public class OAuthRPExtensionsImpl extends RoleDescriptorImpl implements OAuthRPExtensions {
/** Redirect URIs configured for this entity. */
private final XMLObjectChildrenList<RedirectUri> redirectUris;
@@ -148,7 +148,7 @@ public class OAuthRPRoleDescriptorTypeImpl extends RoleDescriptorImpl implements
* @param elementLocalName the local name of the XML element this Object represents
* @param namespacePrefix the prefix for the given namespace
*/
- protected OAuthRPRoleDescriptorTypeImpl(final String namespaceURI, final String elementLocalName,
+ protected OAuthRPExtensionsImpl(final String namespaceURI, final String elementLocalName,
final String namespacePrefix) {
super(namespaceURI, elementLocalName, namespacePrefix);
redirectUris = new XMLObjectChildrenList<>(this);
@@ -171,10 +171,10 @@ public class OAuthRPRoleDescriptorTypeImpl extends RoleDescriptorImpl implements
}
/** {@inheritDoc} */
- @Override
- public List<RedirectUri> getRedirectUris() {
- return redirectUris;
- }
+ @Override
+ public List<RedirectUri> getRedirectUris() {
+ return redirectUris;
+ }
/** {@inheritDoc} */
@Override
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsMarshaller.java
similarity index 77%
rename from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
rename to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsMarshaller.java
index 20b22543..3faaf585 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeMarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsMarshaller.java
@@ -18,12 +18,10 @@ package net.shibboleth.idp.saml.oidc.xmlobject.impl;
import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorMarshaller;
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
-
/**
- * Marshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * Marshaller for {@link OAuthRPExtensions} objects.
*/
-public class OAuthRPRoleDescriptorTypeMarshaller extends RoleDescriptorMarshaller {
+public class OAuthRPExtensionsMarshaller extends RoleDescriptorMarshaller {
//TODO
}
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeUnmarshaller.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
similarity index 89%
rename from idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeUnmarshaller.java
rename to idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
index 744dcd74..c7e30723 100644
--- a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPRoleDescriptorTypeUnmarshaller.java
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/saml/oidc/xmlobject/impl/OAuthRPExtensionsUnmarshaller.java
@@ -18,7 +18,7 @@ package net.shibboleth.idp.saml.oidc.xmlobject.impl;
import org.opensaml.core.xml.XMLObject;
import org.opensaml.core.xml.io.UnmarshallingException;
-import org.opensaml.saml.saml2.metadata.impl.RoleDescriptorUnmarshaller;
+import org.opensaml.saml.common.AbstractSAMLObjectUnmarshaller;
import org.w3c.dom.Attr;
import com.google.common.base.Strings;
@@ -32,7 +32,7 @@ import net.shibboleth.idp.saml.oidc.xmlobject.IdTokenEncryptionResponseEnc;
import net.shibboleth.idp.saml.oidc.xmlobject.IdTokenSignedResponseAlg;
import net.shibboleth.idp.saml.oidc.xmlobject.InitiateLoginUri;
import net.shibboleth.idp.saml.oidc.xmlobject.JwksUri;
-import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPRoleDescriptorType;
+import net.shibboleth.idp.saml.oidc.xmlobject.OAuthRPExtensions;
import net.shibboleth.idp.saml.oidc.xmlobject.PostLogoutRedirectUri;
import net.shibboleth.idp.saml.oidc.xmlobject.RedirectUri;
import net.shibboleth.idp.saml.oidc.xmlobject.RequestObjectEncryptionResponseAlg;
@@ -52,17 +52,17 @@ import net.shibboleth.idp.saml.oidc.xmlobject.UserInfoEncryptionResponseEnc;
import net.shibboleth.idp.saml.oidc.xmlobject.UserInfoSignedResponseAlg;
/**
- * Unmarshaller for {@link OAuthRPRoleDescriptorType} objects.
+ * Unmarshaller for {@link OAuthRPExtensions} objects.
*/
-public class OAuthRPRoleDescriptorTypeUnmarshaller extends RoleDescriptorUnmarshaller {
+public class OAuthRPExtensionsUnmarshaller extends AbstractSAMLObjectUnmarshaller {
/** {@inheritDoc} */
protected void processChildElement(final XMLObject parentSAMLObject, final XMLObject childSAMLObject)
throws UnmarshallingException {
- final OAuthRPRoleDescriptorType descriptor = (OAuthRPRoleDescriptorType) parentSAMLObject;
+ final OAuthRPExtensions descriptor = (OAuthRPExtensions) parentSAMLObject;
if (childSAMLObject instanceof RedirectUri) {
- descriptor.getRedirectUris().add((RedirectUri) childSAMLObject);
+ descriptor.getRedirectUris().add((RedirectUri) childSAMLObject);
} else if (childSAMLObject instanceof ResponseType) {
descriptor.getResponseTypes().add((ResponseType) childSAMLObject);
} else if (childSAMLObject instanceof GrantType) {
@@ -120,20 +120,20 @@ public class OAuthRPRoleDescriptorTypeUnmarshaller extends RoleDescriptorUnmarsh
/** {@inheritDoc} */
protected void processAttribute(final XMLObject samlObject, final Attr attribute) throws UnmarshallingException {
- final OAuthRPRoleDescriptorType descriptor = (OAuthRPRoleDescriptorType) samlObject;
+ final OAuthRPExtensions descriptor = (OAuthRPExtensions) samlObject;
if (attribute.getNamespaceURI() == null) {
- if (attribute.getLocalName().equals(OAuthRPRoleDescriptorType.DEFAULT_MAX_AGE_ATTRIB_NAME)
+ if (attribute.getLocalName().equals(OAuthRPExtensions.DEFAULT_MAX_AGE_ATTRIB_NAME)
&& !Strings.isNullOrEmpty(attribute.getValue())) {
descriptor.setDefaultMaxAge(Integer.parseInt(attribute.getValue()));
- } else if (attribute.getLocalName().equals(OAuthRPRoleDescriptorType.REQUIRE_AUTH_TIME_ATTRIB_NAME)
+ } else if (attribute.getLocalName().equals(OAuthRPExtensions.REQUIRE_AUTH_TIME_ATTRIB_NAME)
&& !Strings.isNullOrEmpty(attribute.getValue())) {
descriptor.setRequireAuthTime(Boolean.parseBoolean(attribute.getValue()));
} else {
super.processAttribute(samlObject, attribute);
}
} else {
- processUnknownAttribute(descriptor, attribute);
+
}
}
-}
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/resources/saml2-metadata-oidcmd-config.xml b/idp-oidc-extension-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
index f174d5ad..8fd87d01 100644
--- a/idp-oidc-extension-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
+++ b/idp-oidc-extension-impl/src/main/resources/saml2-metadata-oidcmd-config.xml
@@ -10,6 +10,12 @@
<UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ApplicationTypeUnmarshaller"/>
</ObjectProvider>
+ <ObjectProvider qualifiedName="oidcmd:ClientSecret">
+ <BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ClientSecretBuilder"/>
+ <MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ClientSecretMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ClientSecretUnmarshaller"/>
+ </ObjectProvider>
+
<ObjectProvider qualifiedName="oidcmd:ClientUri">
<BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ClientUriBuilder"/>
<MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.ClientUriMarshaller"/>
@@ -52,16 +58,22 @@
<UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.InitiateLoginUriUnmarshaller"/>
</ObjectProvider>
+ <ObjectProvider qualifiedName="oidcmd:JwksData">
+ <BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksDataBuilder"/>
+ <MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksDataMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksDataUnmarshaller"/>
+ </ObjectProvider>
+
<ObjectProvider qualifiedName="oidcmd:JwksUri">
<BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksUriBuilder"/>
<MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksUriMarshaller"/>
<UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.JwksUriUnmarshaller"/>
</ObjectProvider>
- <ObjectProvider qualifiedName="oidcmd:OAuthRPRoleDescriptorType">
- <BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPRoleDescriptorTypeBuilder"/>
- <MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPRoleDescriptorTypeMarshaller"/>
- <UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPRoleDescriptorTypeUnmarshaller"/>
+ <ObjectProvider qualifiedName="oidcmd:OAuthRPExtensions">
+ <BuilderClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPExtensionsBuilder"/>
+ <MarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPExtensionsMarshaller"/>
+ <UnmarshallingClass className="net.shibboleth.idp.saml.oidc.xmlobject.impl.OAuthRPExtensionsUnmarshaller"/>
</ObjectProvider>
<ObjectProvider qualifiedName="oidcmd:PostLogoutRedirectUri">
diff --git a/idp-oidc-extension-impl/src/test/resources/org/geant/idpextension/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml b/idp-oidc-extension-impl/src/test/resources/org/geant/idpextension/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
index c3304734..ef0a2153 100644
--- a/idp-oidc-extension-impl/src/test/resources/org/geant/idpextension/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
+++ b/idp-oidc-extension-impl/src/test/resources/org/geant/idpextension/oidc/metadata/impl/EntitiesDescriptor-with-oidcmd.xml
@@ -3,82 +3,114 @@
<md:EntityDescriptor entityID="mockSamlClientId">
- <md:RoleDescriptor xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:type="oidcmd:OAuthRPRoleDescriptorType"
- protocolSupportEnumeration="http://openid.net/specs/openid-connect-core-1_0.html"
- defaultMaxAge="123"
- requireAuthTime="true">
- <md:KeyDescriptor use="signing">
- <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <md:SPSSODescriptor xmlns:oidcmd="urn:mace:shibboleth:metadata:oidc:1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" protocolSupportEnumeration="http://openid.net/specs/openid-connect-core-1_0.html">
+ <md:KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
-MIIEQDCCAqigAwIBAgIVAIarXvdvyS47KJR7U40FlTufyD8vMA0GCSqGSIb3DQEB
-CwUAMCAxHjAcBgNVBAMMFWxvY2FsaG9zdC5sb2NhbGRvbWFpbjAeFw0xOTA2MTcx
-MTI5MTJaFw0zOTA2MTcxMTI5MTJaMCAxHjAcBgNVBAMMFWxvY2FsaG9zdC5sb2Nh
-bGRvbWFpbjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALXysGFnoBFh
-oasd5uMecp9OTBjvztntPUVmHfm4R3AcItEMEZEN/pETcX/wgKdo4qCBq4PrZITa
-T8Salgl0XL6qF1Wia3JNA7Hh/OaoQEUsbsHgsjLMKt6MJh8vIaE1o8loL7Ay4WmZ
-Cr3wc8ZS6CpMsv+qbxkyfl1h7MTydETnQhg/X83bj+BjJSh7QeFU0d0SWK1dN2/D
-nFoGOfuTfVqeDRIwMxKlR5G//8N202sLaG28NljaHhLn3jHXeiGpCQ+Q2X90dkFb
-EKb6sQ6SlDUAzm9MwLYjglDyOhXpUqOnvD67nggLb4Gn/4k+g5wtdfr7unOJYcHK
-w7JGnI8Gd0lJMd6B3SpkhUOWgKv/D6HIBArhqSEmXuTyy8FewyYuo1XkIw/Lu3bB
-9qoBojM1tygoGlKi7R7e719J+DSkhyGbMyQ59leoN97iGGgqjUWS5mew8zSNviyz
-4uGqvxmLWU9UTH1YhlARsBF1bMiMnwLz7dF74AaAkC4pN3BYzDMyHQIDAQABo3Ew
-bzAdBgNVHQ4EFgQUwKUd9D1Qymu2oBEVTscrAhP+sIUwTgYDVR0RBEcwRYIVbG9j
-YWxob3N0LmxvY2FsZG9tYWluhixodHRwczovL2xvY2FsaG9zdC5sb2NhbGRvbWFp
-bi9pZHAvc2hpYmJvbGV0aDANBgkqhkiG9w0BAQsFAAOCAYEAEYqh54a+j5OuR1UB
-/AT9k2xXVwHiqQXAC/2un8O5BWAOeOq9+0gLJO5yaJp5c9GjPXRJmnDfGP9HFF6R
-CjngtRCm1gV/fpj97IRQS5oroaeTWPQ9ZD5+ogs5DNt6UZeJ2GqpfA5mOytNg3cM
-OP1B5QnA1apOaG4FHTegJR7WOIXkkAjEJUy6R+5Q6At7DdK/SRrP5onVPFv2HgGF
-E9v9iX/uQepDizS5F2oi6LZCl1/b38gxA8BFL7VZu53JQguaA7SrnP+dBOErT/yh
-Qcx3e9wE2ms8H1qISIdl3e7gvLi5jEyDWC9Agde6EjjvVVJAF7jR0puQ39mBfoxP
-moVdHJQmCt3V7Ew9tYZUpG3rjp4YNXOiM+QhtwhHWT94q9uJKUQ6JvbxgLNDs5KM
-3PENx2C60TPFne9nRRIMVDavU4wwY7GdCgeo8PiZ5zxI0ZCkxh38ODePtKQrxJ7i
-E0J1BE2LIxa1T7KY0XKpsH0iI2dNfZfNpNp4v/HiDb4svYgq
- </ds:X509Certificate>
+ MIIEQDCCAqigAwIBAgIVAIarXvdvyS47KJR7U40FlTufyD8vMA0GCSqGSIb3DQEB
+ CwUAMCAxHjAcBgNVBAMMFWxvY2FsaG9zdC5sb2NhbGRvbWFpbjAeFw0xOTA2MTcx
+ MTI5MTJaFw0zOTA2MTcxMTI5MTJaMCAxHjAcBgNVBAMMFWxvY2FsaG9zdC5sb2Nh
+ bGRvbWFpbjCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoCggGBALXysGFnoBFh
+ oasd5uMecp9OTBjvztntPUVmHfm4R3AcItEMEZEN/pETcX/wgKdo4qCBq4PrZITa
+ T8Salgl0XL6qF1Wia3JNA7Hh/OaoQEUsbsHgsjLMKt6MJh8vIaE1o8loL7Ay4WmZ
+ Cr3wc8ZS6CpMsv+qbxkyfl1h7MTydETnQhg/X83bj+BjJSh7QeFU0d0SWK1dN2/D
+ nFoGOfuTfVqeDRIwMxKlR5G//8N202sLaG28NljaHhLn3jHXeiGpCQ+Q2X90dkFb
+ EKb6sQ6SlDUAzm9MwLYjglDyOhXpUqOnvD67nggLb4Gn/4k+g5wtdfr7unOJYcHK
+ w7JGnI8Gd0lJMd6B3SpkhUOWgKv/D6HIBArhqSEmXuTyy8FewyYuo1XkIw/Lu3bB
+ 9qoBojM1tygoGlKi7R7e719J+DSkhyGbMyQ59leoN97iGGgqjUWS5mew8zSNviyz
+ 4uGqvxmLWU9UTH1YhlARsBF1bMiMnwLz7dF74AaAkC4pN3BYzDMyHQIDAQABo3Ew
+ bzAdBgNVHQ4EFgQUwKUd9D1Qymu2oBEVTscrAhP+sIUwTgYDVR0RBEcwRYIVbG9j
+ YWxob3N0LmxvY2FsZG9tYWluhixodHRwczovL2xvY2FsaG9zdC5sb2NhbGRvbWFp
+ bi9pZHAvc2hpYmJvbGV0aDANBgkqhkiG9w0BAQsFAAOCAYEAEYqh54a+j5OuR1UB
+ /AT9k2xXVwHiqQXAC/2un8O5BWAOeOq9+0gLJO5yaJp5c9GjPXRJmnDfGP9HFF6R
+ CjngtRCm1gV/fpj97IRQS5oroaeTWPQ9ZD5+ogs5DNt6UZeJ2GqpfA5mOytNg3cM
+ OP1B5QnA1apOaG4FHTegJR7WOIXkkAjEJUy6R+5Q6At7DdK/SRrP5onVPFv2HgGF
+ E9v9iX/uQepDizS5F2oi6LZCl1/b38gxA8BFL7VZu53JQguaA7SrnP+dBOErT/yh
+ Qcx3e9wE2ms8H1qISIdl3e7gvLi5jEyDWC9Agde6EjjvVVJAF7jR0puQ39mBfoxP
+ moVdHJQmCt3V7Ew9tYZUpG3rjp4YNXOiM+QhtwhHWT94q9uJKUQ6JvbxgLNDs5KM
+ 3PENx2C60TPFne9nRRIMVDavU4wwY7GdCgeo8PiZ5zxI0ZCkxh38ODePtKQrxJ7i
+ E0J1BE2LIxa1T7KY0XKpsH0iI2dNfZfNpNp4v/HiDb4svYgq</ds:X509Certificate>
</ds:X509Data>
- </ds:KeyInfo>
- </md:KeyDescriptor>
- <md:KeyDescriptor use="signing">
- <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:KeyDescriptor use="signing">
+ <ds:KeyInfo
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
-MIIBKDCBzgIJAOYlspXlaqguMAoGCCqGSM49BAMCMBwxCzAJBgNVBAYTAkZJMQ0w
-CwYDVQQDDAR0ZXN0MB4XDTE5MTEwMTA4Mjg0OVoXDTIwMTAzMTA4Mjg0OVowHDEL
-MAkGA1UEBhMCRkkxDTALBgNVBAMMBHRlc3QwWTATBgcqhkjOPQIBBggqhkjOPQMB
-BwNCAARCUOlFMtRj3MIbdCzXmoGz4giDwjzPoX4AxMehhlXmPOodQhLDdvDqx3KE
-hqadzIIsKHRQPDycscpHWpPbaQ2VMAoGCCqGSM49BAMCA0kAMEYCIQCVykSuUjlX
-j4lxI6YqgYVuuhL2rG4hIrXw/pCey7eF2gIhAOSSaS025lQWy09W4NlnO28OkHoI
-+Hbap7+DQlhbbr2d
- </ds:X509Certificate>
+ MIIBKDCBzgIJAOYlspXlaqguMAoGCCqGSM49BAMCMBwxCzAJBgNVBAYTAkZJMQ0w
+ CwYDVQQDDAR0ZXN0MB4XDTE5MTEwMTA4Mjg0OVoXDTIwMTAzMTA4Mjg0OVowHDEL
+ MAkGA1UEBhMCRkkxDTALBgNVBAMMBHRlc3QwWTATBgcqhkjOPQIBBggqhkjOPQMB
+ BwNCAARCUOlFMtRj3MIbdCzXmoGz4giDwjzPoX4AxMehhlXmPOodQhLDdvDqx3KE
+ hqadzIIsKHRQPDycscpHWpPbaQ2VMAoGCCqGSM49BAMCA0kAMEYCIQCVykSuUjlX
+ j4lxI6YqgYVuuhL2rG4hIrXw/pCey7eF2gIhAOSSaS025lQWy09W4NlnO28OkHoI
+ +Hbap7+DQlhbbr2d</ds:X509Certificate>
</ds:X509Data>
- </ds:KeyInfo>
- </md:KeyDescriptor>
- <md:KeyDescriptor use="encryption">
- <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
- <ds:X509Data>
- <ds:X509Certificate>
-MIIBKDCBzgIJAOYlspXlaqguMAoGCCqGSM49BAMCMBwxCzAJBgNVBAYTAkZJMQ0w
-CwYDVQQDDAR0ZXN0MB4XDTE5MTEwMTA4Mjg0OVoXDTIwMTAzMTA4Mjg0OVowHDEL
-MAkGA1UEBhMCRkkxDTALBgNVBAMMBHRlc3QwWTATBgcqhkjOPQIBBggqhkjOPQMB
-BwNCAARCUOlFMtRj3MIbdCzXmoGz4giDwjzPoX4AxMehhlXmPOodQhLDdvDqx3KE
-hqadzIIsKHRQPDycscpHWpPbaQ2VMAoGCCqGSM49BAMCA0kAMEYCIQCVykSuUjlX
-j4lxI6YqgYVuuhL2rG4hIrXw/pCey7eF2gIhAOSSaS025lQWy09W4NlnO28OkHoI
-+Hbap7+DQlhbbr2d
- </ds:X509Certificate>
- </ds:X509Data>
- </ds:KeyInfo>
- </md:KeyDescriptor>
- <oidcmd:RedirectUri>https://example.org/cb</oidcmd:RedirectUri>
- <oidcmd:RedirectUri>https://example.org/cb2</oidcmd:RedirectUri>
- <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
- <oidcmd:ResponseType>code</oidcmd:ResponseType>
- <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
- <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
- <oidcmd:Scope>openid</oidcmd:Scope>
- <oidcmd:Scope>profile</oidcmd:Scope>
- </md:RoleDescriptor>
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>Foo</ds:KeyName>
+ <ds:KeyValue>
+ <ds:RSAKeyValue>
+ <ds:Modulus>
+ AMP1p7GwPH64UPvBKD4DK0I6SDY7dtFPzL7L5qAIEJwIBBeDmLfVY/f9mLzDuDb19XzQxc6GEcjj
+ K8qRe7JAD3CE1IXXD0hKSOJ7H+chWS84iv7UNukbHHBO1oaRgfHh7vbX7HnpYMoqKK75rfiQqD9e
+ XOa2FLiH1QvnhLGKJcN+OKujetTgAhxE7ski9Gtfhhbt1qCEl7XtaUCLLexyrwWxx+NRxFgMU+nt
+ IZQ+T8ii+JQSWnRh14PGc+K9o1dp+vjse62hFprVQhhcbAKAkWpbup77NvvuTZ2+AtUhOuNHrH2I
+ X3jHeSWH7EzTGkPLGS6bFnYJQBqWv0POytfSyMM=</ds:Modulus>
+ <ds:Exponent>AQAB</ds:Exponent>
+ </ds:RSAKeyValue>
+ </ds:KeyValue>
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:KeyDescriptor use="signing">
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>mockJwkId</ds:KeyName>
+ <oidcmd:JwksData>
+ ewogICJrdHkiOiAiUlNBIiwKICAiZSI6ICJBUUFCIiwKICAia2lkIjogIm1vY2siLAogICJhbGci
+ OiAiUlMyNTYiLAogICJuIjogInBKcHRScnpyRlhEUnBaWkdpRmc1eW9KeVRPMlphUENSNEcwbjEx
+ aUVSclBTdlVYX202Qmdvak5qVEZISk1pa19pbGhtVzY0Q3JLdGlMdklRTFF6VWV5RXdDZHdYZVB3
+ UVpNeEV4VDJPV2thQy1DV0ZJNHR4X2VFWGRkUGtja1NMRERhMEVQd3dzWktQUFhoRTNWNTBfZ3pW
+ VDJZQVRvRE9fMmoyeGpWcHFzU0dFc0xpYjZqLW52dFpVVV9CMHNHeUppR1ZzMkpUTmhCTVNrT2tR
+ Zks2NkNCcW1sbzBuUE5NYVIxbWl2dG5JUG1aNnJKVHcwUDVZZ0dFS1hmZjBsa25Ib25ZVmRsVktw
+ c0Q4VW5hY0JzdFlyeUhsM0NQR2Uyc3RmR2ExZ3N6NEdIVGVfRnlWVk04UlNoQ2dYVVo3MTdoenpf
+ ekdQaVhDQkw0ZktEek5ZUXpIUSIKfQo=</oidcmd:JwksData>
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:KeyDescriptor>
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>mockJwksUri</ds:KeyName>
+ <oidcmd:JwksUri>https://example.org/jwks</oidcmd:JwksUri>
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:KeyDescriptor>
+ <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+ <ds:KeyName>mockClientSecret</ds:KeyName>
+ <oidcmd:ClientSecret>mockClientSecretValue</oidcmd:ClientSecret>
+ </ds:KeyInfo>
+ </md:KeyDescriptor>
+ <md:Extensions>
+ <oidcmd:OAuthRPExtensions>
+ <oidcmd:GrantType>authorization_code</oidcmd:GrantType>
+ <oidcmd:ResponseType>code</oidcmd:ResponseType>
+ <oidcmd:ApplicationType>web</oidcmd:ApplicationType>
+ <oidcmd:TokenEndpointAuthMethod>client_secret_basic</oidcmd:TokenEndpointAuthMethod>
+ <oidcmd:Scope>openid</oidcmd:Scope>
+ <oidcmd:Scope>profile</oidcmd:Scope>
+ </oidcmd:OAuthRPExtensions>
+ </md:Extensions>
+ <md:AssertionConsumerService
+ Binding="http://csc.fi/ns/profiles/oidc/sso/browser"
+ Location="https://example.org/cb"
+ index="1"/>
+ <md:AssertionConsumerService
+ Binding="http://csc.fi/ns/profiles/oidc/sso/browser"
+ Location="https://example.org/cb2"
+ index="2"/>
+ <md:NameIDFormat>public</md:NameIDFormat>
+ </md:SPSSODescriptor>
</md:EntityDescriptor>
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list