[java-idp-oidc] 03/03: JOIDC-16 Add IdPPlugin and IdPModule definitions
Henri Mikkonen
henri.mikkonen at iki.fi
Mon Nov 9 16:35:49 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=4949437f9bbdbf369461b6afaaa55d982007028a
commit 4949437f9bbdbf369461b6afaaa55d982007028a
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Mon Nov 9 18:33:06 2020 +0200
JOIDC-16 Add IdPPlugin and IdPModule definitions
https://issues.shibboleth.net/jira/browse/JOIDC-16
Initial (and minimal) versions of the plugin/module definitions and dependencies.
---
.../src/assembly/dep.xml | 12 +-
.../src/main/resources/bootstrap/keys.txt | 981 +++++++++++++++++++++
.../idp/plugin/oidc/op/OIDCOPModule.java | 40 +
.../idp/plugin/oidc/op/OIDCOPPlugin.java | 51 ++
.../idp/plugin/oidc/op/package-info.java | 20 +
.../services/net.shibboleth.idp.module.IdPModule | 1 +
.../services/net.shibboleth.idp.plugin.IdPPlugin | 1 +
.../idp/plugin/oidc/op/messages.properties | 8 +
.../idp/plugin/oidc/op/module.properties | 14 +
.../idp/plugin/oidc/op/plugin.properties | 9 +
10 files changed, 1135 insertions(+), 2 deletions(-)
diff --git a/idp-oidc-extension-distribution/src/assembly/dep.xml b/idp-oidc-extension-distribution/src/assembly/dep.xml
index c741a758..d7f2b435 100644
--- a/idp-oidc-extension-distribution/src/assembly/dep.xml
+++ b/idp-oidc-extension-distribution/src/assembly/dep.xml
@@ -17,7 +17,7 @@
</fileSet>
<fileSet>
<directory>../idp-oidc-extension-impl/target/dependency</directory>
- <outputDirectory>edit-webapp/WEB-INF/lib</outputDirectory>
+ <outputDirectory>webapp/WEB-INF/lib</outputDirectory>
<includes>
<include>nimbus-jose-jwt*.jar</include>
<include>oauth2-oidc-sdk*.jar</include>
@@ -34,7 +34,7 @@
</fileSet>
<fileSet>
<directory>../idp-oidc-extension-impl/target</directory>
- <outputDirectory>edit-webapp/WEB-INF/lib</outputDirectory>
+ <outputDirectory>webapp/WEB-INF/lib</outputDirectory>
<includes>
<include>idp-oidc-extension-impl-*.jar</include>
</includes>
@@ -53,6 +53,14 @@
<include>bin/*</include>
<include>views/*</include>
<include>static/.well-known/*</include>
+ <include>bootstrap/*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>../idp-oidc-extension-impl/target/classes/net/shibboleth/idp/plugin/oidc/op</directory>
+ <outputDirectory>bootstrap</outputDirectory>
+ <includes>
+ <include>plugin.properties</include>
</includes>
</fileSet>
</fileSets>
diff --git a/idp-oidc-extension-distribution/src/main/resources/bootstrap/keys.txt b/idp-oidc-extension-distribution/src/main/resources/bootstrap/keys.txt
new file mode 100644
index 00000000..1fc28ff3
--- /dev/null
+++ b/idp-oidc-extension-distribution/src/main/resources/bootstrap/keys.txt
@@ -0,0 +1,981 @@
+This file contains the PGP keys of various developers.
+
+Users: pgp < KEYS
+ gpg --import KEYS
+Developers:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+ && gpg --armor --export <your name>) >> this file.
+
+pub 4096R/02277962 2011-09-22
+uid Scott Cantor <cantor.2 at osu.edu>
+sig 3 02277962 2011-09-22 Scott Cantor <cantor.2 at osu.edu>
+sig 3 30A2362E 2011-09-23 Brian Swaney <swaney.29 at osu.edu>
+sig 47905D15 2011-09-26 Scott Cantor (Internet2) <cantor.2 at osu.edu>
+sig EA2882BB 2011-09-28 Ian A. Young <ian at iay.org.uk>
+sig A9D7AF55 2011-09-24 Michael Craft <mcraft at peak15.org>
+sig D7079C77 2011-09-28 Ian A. Young <ian at iay.org.uk>
+sig D2B37353 2011-10-11 Chad La Joie <lajoie at itumi.biz>
+sub 4096R/5B94AC0C 2011-09-22
+sig 02277962 2011-09-22 Scott Cantor <cantor.2 at osu.edu>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.11 (Darwin)
+
+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
+=ShRP
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub 4096R/98A1618C 2012-04-25 [expires: 2013-10-02]
+uid Rod Widdowson (RDW4096) <rdw at steadingsoftware.com>
+sig 3 98A1618C 2012-04-25 Rod Widdowson (RDW4096) <rdw at steadingsoftware.com>
+sig D2B37353 2012-04-25 Chad La Joie <lajoie at itumi.biz>
+sig EA2882BB 2012-04-25 Ian A. Young <ian at iay.org.uk>
+sig 61CB0B3F 2012-04-26 Brent Putman <putmanb at georgetown.edu>
+sig 1ADCD2BE 2012-05-20 Peter Schober <peter.schober at univie.ac.at>
+sig 3 D6CC6677 2012-06-03 Leif Johansson <leifj at it.su.se>
+sig 1 9B600F91 2012-05-20 Heather Flanagan <hlflanagan at gmail.com>
+sig D7079C77 2012-04-25 Ian A. Young <ian at iay.org.uk>
+sig 02277962 2012-04-27 Scott Cantor <cantor.2 at osu.edu>
+sub 4096R/54D97325 2012-04-25 [expires: 2013-10-02]
+sig 98A1618C 2012-04-25 Rod Widdowson (RDW4096) <rdw at steadingsoftware.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
+Comment: GPGTools - http://gpgtools.org
+
+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
+JxvtKdwTJWUaK6fd7/fQB2aBrpH4jCKgaA==
+=KRL4
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub 1024D/61CB0B3F 2007-01-30
+uid Brent Putman <putmanb at georgetown.edu>
+sig 3 61CB0B3F 2007-01-30 Brent Putman <putmanb at georgetown.edu>
+sig EA2882BB 2012-04-25 Ian A. Young <ian at iay.org.uk>
+sig 98A1618C 2012-04-25 Rod Widdowson (RDW4096) <rdw at steadingsoftware.com>
+sig D7079C77 2012-04-25 Ian A. Young <ian at iay.org.uk>
+sig D2B37353 2012-05-06 Chad La Joie <lajoie at itumi.biz>
+sig 02277962 2012-04-27 Scott Cantor <cantor.2 at osu.edu>
+sub 2048g/A19E029C 2007-01-30
+sig 61CB0B3F 2007-01-30 Brent Putman <putmanb at georgetown.edu>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
+Comment: GPGTools - http://gpgtools.org
+
+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
+=5Z+H
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub rsa4096/9A804E97D7079C77 2011-09-28 [SC]
+ 5E6D6EAE16C3DA75450B219C9A804E97D7079C77
+uid [ultimate] Ian A. Young <ian at iay.org.uk>
+uid [ultimate] [jpeg image of size 6036]
+sub rsa4096/8DEB9861925A5C31 2016-04-21 [E] [expires: 2020-04-21]
+sub rsa4096/8F903CADB1E5A937 2020-02-26 [S] [expires: 2022-02-25]
+sub rsa4096/5762741A3B7BA448 2020-02-26 [E] [expires: 2025-02-24]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+Y5TOjSYpNFq8k/b5t2hVcRI6OcPe
+=Eh7Q
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub 4096R/07CEEB8B 2012-10-29
+uid Tom Zeller <tzeller at dragonacea.biz>
+sig 3 07CEEB8B 2012-10-29 Tom Zeller <tzeller at dragonacea.biz>
+sig 3C9895A6 2012-10-29 Tom Zeller <tzeller at memphis.edu>
+sub 4096R/86D072E7 2012-10-29
+sig 07CEEB8B 2012-10-29 Tom Zeller <tzeller at dragonacea.biz>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.12 (Darwin)
+
+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
+KA==
+=aCf0
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub 4096R/2A4B3FF0 2019-09-18
+uid Rod Widdowson <rdw at steadingsoftware.com>
+sub 4096R/441D628D 2019-09-18
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+HEdQFQ==
+=/gwj
+-----END PGP PUBLIC KEY BLOCK-----
+
+Henri Mikkonen PGP key
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+A+i1fd0Gifis1HhBeA==
+=ObHY
+-----END PGP PUBLIC KEY BLOCK-----
+
+philsmart GPG key 4096-bit RSA key, ID C21771DD, created 2020-02-25
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.22 (GNU/Linux)
+
+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
+3aNjQSVwGC4Owz97QpUq9StZb1qhvIw=
+=1e4x
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPModule.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPModule.java
new file mode 100644
index 00000000..14a0c359
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPModule.java
@@ -0,0 +1,40 @@
+/*
+ * 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.plugin.oidc.op;
+
+import java.io.IOException;
+
+import net.shibboleth.idp.module.IdPModule;
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.module.impl.PluginIdPModule;
+
+/**
+ * {@link IdPModule} implementation.
+ */
+public final class OIDCOPModule extends PluginIdPModule {
+
+ /**
+ * Constructor.
+ *
+ * @throws ModuleException on error
+ * @throws IOException on error
+ */
+ public OIDCOPModule() throws IOException, ModuleException {
+ super(OIDCOPModule.class);
+ }
+
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPPlugin.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPPlugin.java
new file mode 100644
index 00000000..ecd1f397
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/OIDCOPPlugin.java
@@ -0,0 +1,51 @@
+/*
+ * 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.plugin.oidc.op;
+
+import java.io.IOException;
+import java.util.Collections;
+
+import net.shibboleth.idp.module.IdPModule;
+import net.shibboleth.idp.module.ModuleException;
+import net.shibboleth.idp.plugin.PluginException;
+import net.shibboleth.idp.plugin.impl.FirstPartyIdPPlugin;
+
+/**
+ * Details about the OIDC OP plugin.
+ */
+public class OIDCOPPlugin extends FirstPartyIdPPlugin {
+
+ /**
+ * Constructor.
+ *
+ * @throws IOException if the properties fail to load
+ * @throws PluginException if other errors occur
+ */
+ public OIDCOPPlugin() throws IOException, PluginException {
+ super(OIDCOPPlugin.class);
+ try {
+ final IdPModule module = new OIDCOPModule();
+ setEnableOnInstall(Collections.singleton(module));
+ setDisableOnRemoval(Collections.singleton(module));
+ } catch (final IOException e) {
+ throw e;
+ } catch (final ModuleException e) {
+ throw new PluginException(e);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/package-info.java b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/package-info.java
new file mode 100644
index 00000000..9c09f141
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/java/net/shibboleth/idp/plugin/oidc/op/package-info.java
@@ -0,0 +1,20 @@
+/*
+ * 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.
+ */
+
+/**
+ * Top level OIDC OP plugin classes.
+ */
+package net.shibboleth.idp.plugin.oidc.op;
\ No newline at end of file
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule b/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule
new file mode 100644
index 00000000..651cb7fc
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.module.IdPModule
@@ -0,0 +1 @@
+net.shibboleth.idp.plugin.oidc.op.OIDCOPModule
diff --git a/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin b/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin
new file mode 100644
index 00000000..fd523293
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/resources/META-INF/services/net.shibboleth.idp.plugin.IdPPlugin
@@ -0,0 +1 @@
+net.shibboleth.idp.plugin.oidc.op.OIDCOPPlugin
diff --git a/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/messages.properties b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/messages.properties
new file mode 100644
index 00000000..977f7651
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/messages.properties
@@ -0,0 +1,8 @@
+# In addition to the Apache 2.0 license, this content is also licensed
+# under the Creative Commons Attribution-ShareAlike 3.0 Unported license
+# (see http://creativecommons.org/licenses/by-sa/3.0/).
+
+# This is the as-delivered set of messages used in various views
+# so that internationalized translations can be made available and
+# so administrators can locally override or supplement the values
+# in their own message files.
diff --git a/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/module.properties b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/module.properties
new file mode 100644
index 00000000..0db1fd48
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/module.properties
@@ -0,0 +1,14 @@
+# Properties defining this module.
+
+# Class to Module ID mappings
+net.shibboleth.idp.plugin.oidc.op.OIDCOPModule = idp.oidc.op
+
+# Module Owner
+idp.oidc.op.plugin = net.shibboleth.idp.plugin.oidc.op
+
+idp.oidc.op.name = OIDC OP
+idp.oidc.op.desc = OIDC Provider plugin
+i#dp.oidc.op.url = TODO
+#idp.oidc.1.src = /net/shibboleth/idp/plugin/oidc/conf/credentials-oidc.xml
+#idp.oidc.1.dest = conf/credentials-oidc.xml
+#idp.oidc.1.replace = false
diff --git a/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/plugin.properties b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/plugin.properties
new file mode 100644
index 00000000..bfbbd8c4
--- /dev/null
+++ b/idp-oidc-extension-impl/src/main/resources/net/shibboleth/idp/plugin/oidc/op/plugin.properties
@@ -0,0 +1,9 @@
+# Properties defining this plugin
+
+plugin.id = net.shibboleth.idp.plugin.oidc.op
+# Only used when package manifest is not available
+plugin.version = 3.0.0
+#plugin.license =
+
+# No prereqs
+#plugin.modules.required =
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list