diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
new file mode 100755
index 0000000000..d475a89ce1
--- /dev/null
+++ b/.mvn/wrapper/MavenWrapperDownloader.java
@@ -0,0 +1,110 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+import java.net.*;
+import java.io.*;
+import java.nio.channels.*;
+import java.util.Properties;
+
+public class MavenWrapperDownloader {
+
+ /**
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
+ */
+ private static final String DEFAULT_DOWNLOAD_URL =
+ "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar";
+
+ /**
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
+ * use instead of the default one.
+ */
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
+ ".mvn/wrapper/maven-wrapper.properties";
+
+ /**
+ * Path where the maven-wrapper.jar will be saved to.
+ */
+ private static final String MAVEN_WRAPPER_JAR_PATH =
+ ".mvn/wrapper/maven-wrapper.jar";
+
+ /**
+ * Name of the property which should be used to override the default download url for the wrapper.
+ */
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
+
+ public static void main(String args[]) {
+ System.out.println("- Downloader started");
+ File baseDirectory = new File(args[0]);
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
+
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
+ // wrapperUrl parameter.
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
+ String url = DEFAULT_DOWNLOAD_URL;
+ if(mavenWrapperPropertyFile.exists()) {
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
+ try {
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
+ Properties mavenWrapperProperties = new Properties();
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
+ } catch (IOException e) {
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
+ } finally {
+ try {
+ if(mavenWrapperPropertyFileInputStream != null) {
+ mavenWrapperPropertyFileInputStream.close();
+ }
+ } catch (IOException e) {
+ // Ignore ...
+ }
+ }
+ }
+ System.out.println("- Downloading from: : " + url);
+
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
+ if(!outputFile.getParentFile().exists()) {
+ if(!outputFile.getParentFile().mkdirs()) {
+ System.out.println(
+ "- ERROR creating output direcrory '" + outputFile.getParentFile().getAbsolutePath() + "'");
+ }
+ }
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
+ try {
+ downloadFileFromURL(url, outputFile);
+ System.out.println("Done");
+ System.exit(0);
+ } catch (Throwable e) {
+ System.out.println("- Error downloading");
+ e.printStackTrace();
+ System.exit(1);
+ }
+ }
+
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
+ URL website = new URL(urlString);
+ ReadableByteChannel rbc;
+ rbc = Channels.newChannel(website.openStream());
+ FileOutputStream fos = new FileOutputStream(destination);
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+ fos.close();
+ rbc.close();
+ }
+
+}
diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar
new file mode 100755
index 0000000000..08ebbb67f0
Binary files /dev/null and b/.mvn/wrapper/maven-wrapper.jar differ
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
new file mode 100755
index 0000000000..08e2135425
--- /dev/null
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -0,0 +1 @@
+distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 3d619c8263..da6fe0877a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,7 @@
language: java
jdk:
- - oraclejdk11
+ - oraclejdk8
sudo: false
after_success:
- bash <(curl -s https://codecov.io/bash)
-
-cache:
- directories:
- - $HOME/.m2
diff --git a/mvnw b/mvnw
new file mode 100755
index 0000000000..961a825001
--- /dev/null
+++ b/mvnw
@@ -0,0 +1,286 @@
+#!/bin/sh
+# ----------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+# ----------------------------------------------------------------------------
+
+# ----------------------------------------------------------------------------
+# Maven2 Start Up Batch script
+#
+# Required ENV vars:
+# ------------------
+# JAVA_HOME - location of a JDK home dir
+#
+# Optional ENV vars
+# -----------------
+# M2_HOME - location of maven2's installed home dir
+# MAVEN_OPTS - parameters passed to the Java VM when running Maven
+# e.g. to debug Maven itself, use
+# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+# ----------------------------------------------------------------------------
+
+if [ -z "$MAVEN_SKIP_RC" ] ; then
+
+ if [ -f /etc/mavenrc ] ; then
+ . /etc/mavenrc
+ fi
+
+ if [ -f "$HOME/.mavenrc" ] ; then
+ . "$HOME/.mavenrc"
+ fi
+
+fi
+
+# OS specific support. $var _must_ be set to either true or false.
+cygwin=false;
+darwin=false;
+mingw=false
+case "`uname`" in
+ CYGWIN*) cygwin=true ;;
+ MINGW*) mingw=true;;
+ Darwin*) darwin=true
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
+ if [ -z "$JAVA_HOME" ]; then
+ if [ -x "/usr/libexec/java_home" ]; then
+ export JAVA_HOME="`/usr/libexec/java_home`"
+ else
+ export JAVA_HOME="/Library/Java/Home"
+ fi
+ fi
+ ;;
+esac
+
+if [ -z "$JAVA_HOME" ] ; then
+ if [ -r /etc/gentoo-release ] ; then
+ JAVA_HOME=`java-config --jre-home`
+ fi
+fi
+
+if [ -z "$M2_HOME" ] ; then
+ ## resolve links - $0 may be a link to maven's home
+ PRG="$0"
+
+ # need this for relative symlinks
+ while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG="`dirname "$PRG"`/$link"
+ fi
+ done
+
+ saveddir=`pwd`
+
+ M2_HOME=`dirname "$PRG"`/..
+
+ # make it fully qualified
+ M2_HOME=`cd "$M2_HOME" && pwd`
+
+ cd "$saveddir"
+ # echo Using m2 at $M2_HOME
+fi
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched
+if $cygwin ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --unix "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
+fi
+
+# For Mingw, ensure paths are in UNIX format before anything is touched
+if $mingw ; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME="`(cd "$M2_HOME"; pwd)`"
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
+ # TODO classpath?
+fi
+
+if [ -z "$JAVA_HOME" ]; then
+ javaExecutable="`which javac`"
+ if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
+ # readlink(1) is not available as standard on Solaris 10.
+ readLink=`which readlink`
+ if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
+ if $darwin ; then
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
+ else
+ javaExecutable="`readlink -f \"$javaExecutable\"`"
+ fi
+ javaHome="`dirname \"$javaExecutable\"`"
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'`
+ JAVA_HOME="$javaHome"
+ export JAVA_HOME
+ fi
+ fi
+fi
+
+if [ -z "$JAVACMD" ] ; then
+ if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ else
+ JAVACMD="`which java`"
+ fi
+fi
+
+if [ ! -x "$JAVACMD" ] ; then
+ echo "Error: JAVA_HOME is not defined correctly." >&2
+ echo " We cannot execute $JAVACMD" >&2
+ exit 1
+fi
+
+if [ -z "$JAVA_HOME" ] ; then
+ echo "Warning: JAVA_HOME environment variable is not set."
+fi
+
+CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+
+# traverses directory structure from process work directory to filesystem root
+# first directory with .mvn subdirectory is considered project base directory
+find_maven_basedir() {
+
+ if [ -z "$1" ]
+ then
+ echo "Path not specified to find_maven_basedir"
+ return 1
+ fi
+
+ basedir="$1"
+ wdir="$1"
+ while [ "$wdir" != '/' ] ; do
+ if [ -d "$wdir"/.mvn ] ; then
+ basedir=$wdir
+ break
+ fi
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
+ if [ -d "${wdir}" ]; then
+ wdir=`cd "$wdir/.."; pwd`
+ fi
+ # end of workaround
+ done
+ echo "${basedir}"
+}
+
+# concatenates all lines of a file
+concat_lines() {
+ if [ -f "$1" ]; then
+ echo "$(tr -s '\n' ' ' < "$1")"
+ fi
+}
+
+BASE_DIR=`find_maven_basedir "$(pwd)"`
+if [ -z "$BASE_DIR" ]; then
+ exit 1;
+fi
+
+##########################################################################################
+# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+# This allows using the maven wrapper in projects that prohibit checking in binary data.
+##########################################################################################
+if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
+ fi
+else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
+ fi
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar"
+ while IFS="=" read key value; do
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
+ esac
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Downloading from: $jarUrl"
+ fi
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
+
+ if command -v wget > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found wget ... using wget"
+ fi
+ wget "$jarUrl" -O "$wrapperJarPath"
+ elif command -v curl > /dev/null; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Found curl ... using curl"
+ fi
+ curl -o "$wrapperJarPath" "$jarUrl"
+ else
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo "Falling back to using Java to download"
+ fi
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
+ if [ -e "$javaClass" ]; then
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Compiling MavenWrapperDownloader.java ..."
+ fi
+ # Compiling the Java class
+ ("$JAVA_HOME/bin/javac" "$javaClass")
+ fi
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
+ # Running the downloader
+ if [ "$MVNW_VERBOSE" = true ]; then
+ echo " - Running MavenWrapperDownloader.java ..."
+ fi
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
+ fi
+ fi
+ fi
+fi
+##########################################################################################
+# End of extension
+##########################################################################################
+
+export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
+if [ "$MVNW_VERBOSE" = true ]; then
+ echo $MAVEN_PROJECTBASEDIR
+fi
+MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin; then
+ [ -n "$M2_HOME" ] &&
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
+ [ -n "$JAVA_HOME" ] &&
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
+ [ -n "$CLASSPATH" ] &&
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
+fi
+
+WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+exec "$JAVACMD" \
+ $MAVEN_OPTS \
+ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
+ "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/mvnw.cmd b/mvnw.cmd
new file mode 100755
index 0000000000..830073a17e
--- /dev/null
+++ b/mvnw.cmd
@@ -0,0 +1,161 @@
+@REM ----------------------------------------------------------------------------
+@REM Licensed to the Apache Software Foundation (ASF) under one
+@REM or more contributor license agreements. See the NOTICE file
+@REM distributed with this work for additional information
+@REM regarding copyright ownership. The ASF licenses this file
+@REM to you under the Apache License, Version 2.0 (the
+@REM "License"); you may not use this file except in compliance
+@REM with the License. You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing,
+@REM software distributed under the License is distributed on an
+@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+@REM KIND, either express or implied. See the License for the
+@REM specific language governing permissions and limitations
+@REM under the License.
+@REM ----------------------------------------------------------------------------
+
+@REM ----------------------------------------------------------------------------
+@REM Maven2 Start Up Batch script
+@REM
+@REM Required ENV vars:
+@REM JAVA_HOME - location of a JDK home dir
+@REM
+@REM Optional ENV vars
+@REM M2_HOME - location of maven2's installed home dir
+@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
+@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
+@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
+@REM e.g. to debug Maven itself, use
+@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
+@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
+@REM ----------------------------------------------------------------------------
+
+@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
+@echo off
+@REM set title of command window
+title %0
+@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on'
+@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
+
+@REM set %HOME% to equivalent of $HOME
+if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
+
+@REM Execute a user defined script before this one
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
+@REM check for pre script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
+if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
+:skipRcPre
+
+@setlocal
+
+set ERROR_CODE=0
+
+@REM To isolate internal variables from possible post scripts, we use another setlocal
+@setlocal
+
+@REM ==== START VALIDATION ====
+if not "%JAVA_HOME%" == "" goto OkJHome
+
+echo.
+echo Error: JAVA_HOME not found in your environment. >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+:OkJHome
+if exist "%JAVA_HOME%\bin\java.exe" goto init
+
+echo.
+echo Error: JAVA_HOME is set to an invalid directory. >&2
+echo JAVA_HOME = "%JAVA_HOME%" >&2
+echo Please set the JAVA_HOME variable in your environment to match the >&2
+echo location of your Java installation. >&2
+echo.
+goto error
+
+@REM ==== END VALIDATION ====
+
+:init
+
+@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
+@REM Fallback to current working directory if not found.
+
+set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
+IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
+
+set EXEC_DIR=%CD%
+set WDIR=%EXEC_DIR%
+:findBaseDir
+IF EXIST "%WDIR%"\.mvn goto baseDirFound
+cd ..
+IF "%WDIR%"=="%CD%" goto baseDirNotFound
+set WDIR=%CD%
+goto findBaseDir
+
+:baseDirFound
+set MAVEN_PROJECTBASEDIR=%WDIR%
+cd "%EXEC_DIR%"
+goto endDetectBaseDir
+
+:baseDirNotFound
+set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
+cd "%EXEC_DIR%"
+
+:endDetectBaseDir
+
+IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
+
+@setlocal EnableExtensions EnableDelayedExpansion
+for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
+@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
+
+:endReadAdditionalConfig
+
+SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
+set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
+set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
+
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.4.0/maven-wrapper-0.4.0.jar"
+FOR /F "tokens=1,2 delims==" %%A IN (%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties) DO (
+ IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
+)
+
+@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
+@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
+if exist %WRAPPER_JAR% (
+ echo Found %WRAPPER_JAR%
+) else (
+ echo Couldn't find %WRAPPER_JAR%, downloading it ...
+ echo Downloading from: %DOWNLOAD_URL%
+ powershell -Command "(New-Object Net.WebClient).DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"
+ echo Finished downloading %WRAPPER_JAR%
+)
+@REM End of extension
+
+%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
+if ERRORLEVEL 1 goto error
+goto end
+
+:error
+set ERROR_CODE=1
+
+:end
+@endlocal & set ERROR_CODE=%ERROR_CODE%
+
+if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
+@REM check for post script, once with legacy .bat ending and once with .cmd ending
+if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
+if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
+:skipRcPost
+
+@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
+if "%MAVEN_BATCH_PAUSE%" == "on" pause
+
+if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
+
+exit /B %ERROR_CODE%
diff --git a/openid-connect-client/pom.xml b/openid-connect-client/pom.xml
index 3fbbd9e5ec..88beb2716c 100644
--- a/openid-connect-client/pom.xml
+++ b/openid-connect-client/pom.xml
@@ -22,7 +22,7 @@
openid-connect-parent
org.mitre
- 1.3.5-SNAPSHOT
+ 1.3.4.1
..
openid-connect-client
@@ -33,6 +33,10 @@
org.mitre
openid-connect-common
+
+ jakarta.annotation
+ jakarta.annotation-api
+
jar
diff --git a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/IntrospectingTokenService.java b/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/IntrospectingTokenService.java
deleted file mode 100644
index b311a84d9c..0000000000
--- a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/IntrospectingTokenService.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.oauth2.introspectingfilter;
-
-import static org.mitre.oauth2.model.ClientDetailsEntity.AuthMethod.SECRET_BASIC;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.mitre.oauth2.introspectingfilter.service.IntrospectionAuthorityGranter;
-import org.mitre.oauth2.introspectingfilter.service.IntrospectionConfigurationService;
-import org.mitre.oauth2.introspectingfilter.service.impl.SimpleIntrospectionAuthorityGranter;
-import org.mitre.oauth2.model.RegisteredClient;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.client.ClientHttpRequest;
-import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-import org.springframework.security.oauth2.common.util.OAuth2Utils;
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
-import org.springframework.security.oauth2.provider.OAuth2Request;
-import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
-import org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationToken;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestClientException;
-import org.springframework.web.client.RestTemplate;
-
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.nimbusds.jose.util.Base64;
-
-/**
- * This ResourceServerTokenServices implementation introspects incoming tokens at a
- * server's introspection endpoint URL and passes an Authentication object along
- * based on the response from the introspection endpoint.
- * @author jricher
- *
- */
-public class IntrospectingTokenService implements ResourceServerTokenServices {
-
- private IntrospectionConfigurationService introspectionConfigurationService;
- private IntrospectionAuthorityGranter introspectionAuthorityGranter = new SimpleIntrospectionAuthorityGranter();
-
- private int defaultExpireTime = 300000; // 5 minutes in milliseconds
- private boolean forceCacheExpireTime = false; // force removal of cached tokens based on default expire time
- private boolean cacheNonExpiringTokens = false;
- private boolean cacheTokens = true;
-
- private HttpComponentsClientHttpRequestFactory factory;
-
- public IntrospectingTokenService() {
- this(HttpClientBuilder.create().useSystemProperties().build());
- }
-
- public IntrospectingTokenService(HttpClient httpClient) {
- this.factory = new HttpComponentsClientHttpRequestFactory(httpClient);
- }
-
- // Inner class to store in the hash map
- private class TokenCacheObject {
- OAuth2AccessToken token;
- OAuth2Authentication auth;
- Date cacheExpire;
-
- private TokenCacheObject(OAuth2AccessToken token, OAuth2Authentication auth) {
- this.token = token;
- this.auth = auth;
-
- // we don't need to check the cacheTokens values, because this won't actually be added to the cache if cacheTokens is false
- // if the token isn't null we use the token expire time
- // if forceCacheExpireTime is also true, we also make sure that the token expire time is shorter than the default expire time
- if ((this.token.getExpiration() != null) && (!forceCacheExpireTime || (forceCacheExpireTime && (this.token.getExpiration().getTime() - System.currentTimeMillis() <= defaultExpireTime)))) {
- this.cacheExpire = this.token.getExpiration();
- } else { // if the token doesn't have an expire time, or if the using forceCacheExpireTime the token expire time is longer than the default, then use the default expire time
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.MILLISECOND, defaultExpireTime);
- this.cacheExpire = cal.getTime();
- }
- }
- }
-
- private Map authCache = new HashMap<>();
- /**
- * Logger for this class
- */
- private static final Logger logger = LoggerFactory.getLogger(IntrospectingTokenService.class);
-
- /**
- * @return the introspectionConfigurationService
- */
- public IntrospectionConfigurationService getIntrospectionConfigurationService() {
- return introspectionConfigurationService;
- }
-
- /**
- * @param introspectionConfigurationService the introspectionConfigurationService to set
- */
- public void setIntrospectionConfigurationService(IntrospectionConfigurationService introspectionUrlProvider) {
- this.introspectionConfigurationService = introspectionUrlProvider;
- }
-
- /**
- * @param introspectionAuthorityGranter the introspectionAuthorityGranter to set
- */
- public void setIntrospectionAuthorityGranter(IntrospectionAuthorityGranter introspectionAuthorityGranter) {
- this.introspectionAuthorityGranter = introspectionAuthorityGranter;
- }
-
- /**
- * @return the introspectionAuthorityGranter
- */
- public IntrospectionAuthorityGranter getIntrospectionAuthorityGranter() {
- return introspectionAuthorityGranter;
- }
-
- /**
- * get the default cache expire time in milliseconds
- * @return
- */
- public int getDefaultExpireTime() {
- return defaultExpireTime;
- }
-
- /**
- * set the default cache expire time in milliseconds
- * @param defaultExpireTime
- */
- public void setDefaultExpireTime(int defaultExpireTime) {
- this.defaultExpireTime = defaultExpireTime;
- }
-
- /**
- * check if forcing a cache expire time maximum value
- * @return the forceCacheExpireTime setting
- */
- public boolean isForceCacheExpireTime() {
- return forceCacheExpireTime;
- }
-
- /**
- * set forcing a cache expire time maximum value
- * @param forceCacheExpireTime
- */
- public void setForceCacheExpireTime(boolean forceCacheExpireTime) {
- this.forceCacheExpireTime = forceCacheExpireTime;
- }
-
- /**
- * Are non-expiring tokens cached using the default cache time
- * @return state of cacheNonExpiringTokens
- */
- public boolean isCacheNonExpiringTokens() {
- return cacheNonExpiringTokens;
- }
-
- /**
- * should non-expiring tokens be cached using the default cache timeout
- * @param cacheNonExpiringTokens
- */
- public void setCacheNonExpiringTokens(boolean cacheNonExpiringTokens) {
- this.cacheNonExpiringTokens = cacheNonExpiringTokens;
- }
-
- /**
- * Is the service caching tokens, or is it hitting the introspection end point every time
- * @return true is caching tokens locally, false hits the introspection end point every time
- */
- public boolean isCacheTokens() {
- return cacheTokens;
- }
-
- /**
- * Configure if the client should cache tokens locally or not
- * @param cacheTokens
- */
- public void setCacheTokens(boolean cacheTokens) {
- this.cacheTokens = cacheTokens;
- }
-
- /**
- * Check to see if the introspection end point response for a token has been cached locally
- * This call will return the token if it has been cached and is still valid according to
- * the cache expire time on the TokenCacheObject. If a cached value has been found but is
- * expired, either by default expire times or the token's own expire time, then the token is
- * removed from the cache and null is returned.
- * @param key is the token to check
- * @return the cached TokenCacheObject or null
- */
- private TokenCacheObject checkCache(String key) {
- if (cacheTokens && authCache.containsKey(key)) {
- TokenCacheObject tco = authCache.get(key);
-
- if (tco != null && tco.cacheExpire != null && tco.cacheExpire.after(new Date())) {
- return tco;
- } else {
- // if the token is expired, don't keep things around.
- authCache.remove(key);
- }
- }
- return null;
- }
-
- private OAuth2Request createStoredRequest(final JsonObject token) {
- String clientId = token.get("client_id").getAsString();
- Set scopes = new HashSet<>();
- if (token.has("scope")) {
- scopes.addAll(OAuth2Utils.parseParameterList(token.get("scope").getAsString()));
- }
- Map parameters = new HashMap<>();
- parameters.put("client_id", clientId);
- parameters.put("scope", OAuth2Utils.formatParameterList(scopes));
- OAuth2Request storedRequest = new OAuth2Request(parameters, clientId, null, true, scopes, null, null, null, null);
- return storedRequest;
- }
-
- private Authentication createUserAuthentication(JsonObject token) {
- JsonElement userId = token.get("user_id");
- if(userId == null) {
- userId = token.get("sub");
- if (userId == null) {
- return null;
- }
- }
-
- return new PreAuthenticatedAuthenticationToken(userId.getAsString(), token, introspectionAuthorityGranter.getAuthorities(token));
- }
-
- private OAuth2AccessToken createAccessToken(final JsonObject token, final String tokenString) {
- OAuth2AccessToken accessToken = new OAuth2AccessTokenImpl(token, tokenString);
- return accessToken;
- }
-
- /**
- * Validate a token string against the introspection endpoint,
- * then parse it and store it in the local cache if caching is enabled.
- *
- * @param accessToken Token to pass to the introspection endpoint
- * @return TokenCacheObject containing authentication and token if the token was valid, otherwise null
- */
- private TokenCacheObject parseToken(String accessToken) {
-
- // find out which URL to ask
- String introspectionUrl;
- RegisteredClient client;
- try {
- introspectionUrl = introspectionConfigurationService.getIntrospectionUrl(accessToken);
- client = introspectionConfigurationService.getClientConfiguration(accessToken);
- } catch (IllegalArgumentException e) {
- logger.error("Unable to load introspection URL or client configuration", e);
- return null;
- }
- // Use the SpringFramework RestTemplate to send the request to the
- // endpoint
- String validatedToken = null;
-
- RestTemplate restTemplate;
- MultiValueMap form = new LinkedMultiValueMap<>();
-
- final String clientId = client.getClientId();
- final String clientSecret = client.getClientSecret();
-
- if (SECRET_BASIC.equals(client.getTokenEndpointAuthMethod())){
- // use BASIC auth if configured to do so
- restTemplate = new RestTemplate(factory) {
-
- @Override
- protected ClientHttpRequest createRequest(URI url, HttpMethod method) throws IOException {
- ClientHttpRequest httpRequest = super.createRequest(url, method);
- httpRequest.getHeaders().add("Authorization",
- String.format("Basic %s", Base64.encode(String.format("%s:%s", clientId, clientSecret)) ));
- return httpRequest;
- }
- };
- } else { //Alternatively use form based auth
- restTemplate = new RestTemplate(factory);
-
- form.add("client_id", clientId);
- form.add("client_secret", clientSecret);
- }
-
- form.add("token", accessToken);
-
- try {
- validatedToken = restTemplate.postForObject(introspectionUrl, form, String.class);
- } catch (RestClientException rce) {
- logger.error("validateToken", rce);
- return null;
- }
- if (validatedToken != null) {
- // parse the json
- JsonElement jsonRoot = new JsonParser().parse(validatedToken);
- if (!jsonRoot.isJsonObject()) {
- return null; // didn't get a proper JSON object
- }
-
- JsonObject tokenResponse = jsonRoot.getAsJsonObject();
-
- if (tokenResponse.get("error") != null) {
- // report an error?
- logger.error("Got an error back: " + tokenResponse.get("error") + ", " + tokenResponse.get("error_description"));
- return null;
- }
-
- if (!tokenResponse.get("active").getAsBoolean()) {
- // non-valid token
- logger.info("Server returned non-active token");
- return null;
- }
- // create an OAuth2Authentication
- OAuth2Authentication auth = new OAuth2Authentication(createStoredRequest(tokenResponse), createUserAuthentication(tokenResponse));
- // create an OAuth2AccessToken
- OAuth2AccessToken token = createAccessToken(tokenResponse, accessToken);
-
- if (token.getExpiration() == null || token.getExpiration().after(new Date())) {
- // Store them in the cache
- TokenCacheObject tco = new TokenCacheObject(token, auth);
- if (cacheTokens && (cacheNonExpiringTokens || token.getExpiration() != null)) {
- authCache.put(accessToken, tco);
- }
- return tco;
- }
- }
-
- // when the token is invalid for whatever reason
- return null;
- }
-
- @Override
- public OAuth2Authentication loadAuthentication(String accessToken) throws AuthenticationException {
- // First check if the in memory cache has an Authentication object, and
- // that it is still valid
- // If Valid, return it
- TokenCacheObject cacheAuth = checkCache(accessToken);
- if (cacheAuth != null) {
- return cacheAuth.auth;
- } else {
- cacheAuth = parseToken(accessToken);
- if (cacheAuth != null) {
- return cacheAuth.auth;
- } else {
- return null;
- }
- }
- }
-
- @Override
- public OAuth2AccessToken readAccessToken(String accessToken) {
- // First check if the in memory cache has a Token object, and that it is
- // still valid
- // If Valid, return it
- TokenCacheObject cacheAuth = checkCache(accessToken);
- if (cacheAuth != null) {
- return cacheAuth.token;
- } else {
- cacheAuth = parseToken(accessToken);
- if (cacheAuth != null) {
- return cacheAuth.token;
- } else {
- return null;
- }
- }
- }
-
-}
diff --git a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/OAuth2AccessTokenImpl.java b/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/OAuth2AccessTokenImpl.java
index 723fcc54d0..4d3219a916 100644
--- a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/OAuth2AccessTokenImpl.java
+++ b/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/OAuth2AccessTokenImpl.java
@@ -17,88 +17,60 @@
*******************************************************************************/
package org.mitre.oauth2.introspectingfilter;
-import java.util.Date;
+import java.time.Instant;
+import java.util.Arrays;
import java.util.HashSet;
-import java.util.Map;
import java.util.Set;
-import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+import org.springframework.security.oauth2.core.OAuth2AccessToken;
-import com.google.common.base.Splitter;
-import com.google.common.collect.Sets;
import com.google.gson.JsonObject;
-
-public class OAuth2AccessTokenImpl implements OAuth2AccessToken {
+public class OAuth2AccessTokenImpl extends OAuth2AccessToken {
private JsonObject introspectionResponse;
- private String tokenString;
- private Set scopes = new HashSet<>();
- private Date expireDate;
+ public OAuth2AccessTokenImpl(JsonObject introspectionResponse, String tokenValue) {
+ super(TokenType.BEARER,
+ tokenValue,
+ extractIssuedAt(introspectionResponse),
+ extractExpiresAt(introspectionResponse),
+ extractScopes(introspectionResponse));
- public OAuth2AccessTokenImpl(JsonObject introspectionResponse, String tokenString) {
this.setIntrospectionResponse(introspectionResponse);
- this.tokenString = tokenString;
- if (introspectionResponse.get("scope") != null) {
- scopes = Sets.newHashSet(Splitter.on(" ").split(introspectionResponse.get("scope").getAsString()));
- }
-
- if (introspectionResponse.get("exp") != null) {
- expireDate = new Date(introspectionResponse.get("exp").getAsLong() * 1000L);
- }
}
-
- @Override
- public Map getAdditionalInformation() {
- return null;
- }
-
- @Override
- public Set getScope() {
- return scopes;
- }
-
- @Override
- public OAuth2RefreshToken getRefreshToken() {
+ private static Instant extractIssuedAt(JsonObject introspectionResponse) {
+ if (introspectionResponse.has("iat") && !introspectionResponse.get("iat").isJsonNull()) {
+ return Instant.ofEpochSecond(introspectionResponse.get("iat").getAsLong());
+ }
return null;
}
- @Override
- public String getTokenType() {
- return BEARER_TYPE;
- }
-
- @Override
- public boolean isExpired() {
- if (expireDate != null && expireDate.before(new Date())) {
- return true;
+ private static Instant extractExpiresAt(JsonObject introspectionResponse) {
+ if (introspectionResponse.has("exp") && !introspectionResponse.get("exp").isJsonNull()) {
+ return Instant.ofEpochSecond(introspectionResponse.get("exp").getAsLong());
}
- return false;
- }
-
- @Override
- public Date getExpiration() {
- return expireDate;
+ return null;
}
- @Override
- public int getExpiresIn() {
- if (expireDate != null) {
- return (int)TimeUnit.MILLISECONDS.toSeconds(expireDate.getTime() - (new Date()).getTime());
+ private static Set extractScopes(JsonObject introspectionResponse) {
+ if (introspectionResponse.has("scope") && !introspectionResponse.get("scope").isJsonNull()) {
+ String scopeString = introspectionResponse.get("scope").getAsString();
+ if (scopeString != null && !scopeString.trim().isEmpty()) {
+ return Arrays.stream(scopeString.split(" "))
+ .collect(Collectors.toSet());
+ }
}
- return 0;
+ return new HashSet<>(); // Return empty set if no scopes
}
@Override
- public String getValue() {
- return tokenString;
+ public TokenType getTokenType() {
+ return TokenType.BEARER;
}
-
/**
* @return the token
*/
@@ -106,7 +78,6 @@ public JsonObject getIntrospectionResponse() {
return introspectionResponse;
}
-
/**
* @param token the token to set
*/
diff --git a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/service/impl/ScopeBasedIntrospectionAuthoritiesGranter.java b/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/service/impl/ScopeBasedIntrospectionAuthoritiesGranter.java
index 26bc7f11c7..5c098d933b 100644
--- a/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/service/impl/ScopeBasedIntrospectionAuthoritiesGranter.java
+++ b/openid-connect-client/src/main/java/org/mitre/oauth2/introspectingfilter/service/impl/ScopeBasedIntrospectionAuthoritiesGranter.java
@@ -17,14 +17,16 @@
package org.mitre.oauth2.introspectingfilter.service.impl;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import java.util.stream.Collectors;
import org.mitre.oauth2.introspectingfilter.service.IntrospectionAuthorityGranter;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.oauth2.common.util.OAuth2Utils;
import com.google.gson.JsonObject;
@@ -45,7 +47,10 @@ public List getAuthorities(JsonObject introspectionResponse) {
if (introspectionResponse.has("scope") && introspectionResponse.get("scope").isJsonPrimitive()) {
String scopeString = introspectionResponse.get("scope").getAsString();
- Set scopes = OAuth2Utils.parseParameterList(scopeString);
+ Set scopes = (scopeString != null && !scopeString.trim().isEmpty())
+ ? Arrays.stream(scopeString.split(" "))
+ .collect(Collectors.toSet())
+ : new HashSet<>();
for (String scope : scopes) {
auth.add(new SimpleGrantedAuthority("OAUTH_SCOPE_" + scope));
}
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/OIDCAuthenticationFilter.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/OIDCAuthenticationFilter.java
index 8412525471..4d3bceaffb 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/OIDCAuthenticationFilter.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/OIDCAuthenticationFilter.java
@@ -29,18 +29,20 @@
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.text.ParseException;
+import java.time.Duration;
import java.util.Date;
import java.util.Map;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.config.RequestConfig;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.util.Timeout;
import org.mitre.jwt.signer.service.JWTSigningAndValidationService;
import org.mitre.jwt.signer.service.impl.JWKSetCacheService;
import org.mitre.jwt.signer.service.impl.SymmetricKeyJWTValidatorCacheService;
@@ -64,6 +66,7 @@
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
+import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestClientException;
@@ -93,6 +96,7 @@
* @author nemonik, jricher
*
*/
+@Component
public class OIDCAuthenticationFilter extends AbstractAuthenticationProcessingFilter {
protected final static String REDIRECT_URI_SESION_VARIABLE = "redirect_uri";
@@ -348,7 +352,7 @@ protected Authentication handleAuthorizationCodeResponse(HttpServletRequest requ
httpClient = HttpClientBuilder.create()
.useSystemProperties()
.setDefaultRequestConfig(RequestConfig.custom()
- .setSocketTimeout(httpSocketTimeout)
+ .setResponseTimeout(Timeout.ofMilliseconds(httpSocketTimeout))
.build())
.build();
}
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/UserInfoFetcher.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/UserInfoFetcher.java
index 5b755617bb..0556d0d360 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/UserInfoFetcher.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/UserInfoFetcher.java
@@ -23,9 +23,9 @@
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mitre.openid.connect.config.ServerConfiguration.UserInfoTokenMethod;
import org.mitre.openid.connect.model.DefaultUserInfo;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/AuthRequestOptionsService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/AuthRequestOptionsService.java
index 73a8d377f1..40bdcbf3a0 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/AuthRequestOptionsService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/AuthRequestOptionsService.java
@@ -22,7 +22,7 @@
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.config.ServerConfiguration;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/IssuerService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/IssuerService.java
index 7e4e527024..2fe9ac2264 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/IssuerService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/IssuerService.java
@@ -20,10 +20,10 @@
*/
package org.mitre.openid.connect.client.service;
-import javax.servlet.http.HttpServletRequest;
-
import org.mitre.openid.connect.client.model.IssuerServiceResponse;
+import jakarta.servlet.http.HttpServletRequest;
+
/**
*
* Gets an issuer for the given request. Might do dynamic discovery, or might be statically configured.
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicRegistrationClientConfigurationService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicRegistrationClientConfigurationService.java
index 2c32fd8fd9..cb2ba1d97a 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicRegistrationClientConfigurationService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicRegistrationClientConfigurationService.java
@@ -24,8 +24,8 @@
import java.util.Set;
import java.util.concurrent.ExecutionException;
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.ClientDetailsEntityJsonProcessor;
import org.mitre.openid.connect.client.service.ClientConfigurationService;
@@ -39,8 +39,8 @@
import org.springframework.http.MediaType;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.security.authentication.AuthenticationServiceException;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
+import org.springframework.security.oauth2.core.OAuth2AccessToken;
+import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
@@ -212,7 +212,7 @@ public RegisteredClient load(ServerConfiguration serverConfig) throws Exception
return client;
} catch (RestClientException rce) {
- throw new InvalidClientException("Error registering client with server");
+ throw new OAuth2AuthenticationException("Error registering client with server");
}
} else {
@@ -220,7 +220,7 @@ public RegisteredClient load(ServerConfiguration serverConfig) throws Exception
// load this client's information from the server
HttpHeaders headers = new HttpHeaders();
- headers.set("Authorization", String.format("%s %s", OAuth2AccessToken.BEARER_TYPE, knownClient.getRegistrationAccessToken()));
+ headers.set("Authorization", String.format("%s %s", OAuth2AccessToken.TokenType.BEARER, knownClient.getRegistrationAccessToken()));
headers.setAccept(Lists.newArrayList(MediaType.APPLICATION_JSON));
HttpEntity entity = new HttpEntity<>(headers);
@@ -233,7 +233,7 @@ public RegisteredClient load(ServerConfiguration serverConfig) throws Exception
return client;
} catch (RestClientException rce) {
- throw new InvalidClientException("Error loading previously registered client information from server");
+ throw new OAuth2AuthenticationException("Error loading previously registered client information from server");
}
} else {
// it's got a client ID from the store, don't bother trying to load it
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicServerConfigurationService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicServerConfigurationService.java
index 5f451c2dcb..3f2d91dd29 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicServerConfigurationService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/DynamicServerConfigurationService.java
@@ -31,8 +31,8 @@
import java.util.Set;
import java.util.concurrent.ExecutionException;
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.mitre.openid.connect.client.service.ServerConfigurationService;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.slf4j.Logger;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/EncryptedAuthRequestUrlBuilder.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/EncryptedAuthRequestUrlBuilder.java
index cad7d7399a..8f657acbb5 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/EncryptedAuthRequestUrlBuilder.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/EncryptedAuthRequestUrlBuilder.java
@@ -24,7 +24,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.http.client.utils.URIBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.jwt.encryption.service.JWTEncryptionAndDecryptionService;
import org.mitre.jwt.signer.service.impl.JWKSetCacheService;
import org.mitre.oauth2.model.RegisteredClient;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/HybridIssuerService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/HybridIssuerService.java
index 816f03698e..0a59867fdb 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/HybridIssuerService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/HybridIssuerService.java
@@ -19,7 +19,7 @@
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.mitre.openid.connect.client.model.IssuerServiceResponse;
import org.mitre.openid.connect.client.service.IssuerService;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/PlainAuthRequestUrlBuilder.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/PlainAuthRequestUrlBuilder.java
index 86ecece0ef..e4ff2b793d 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/PlainAuthRequestUrlBuilder.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/PlainAuthRequestUrlBuilder.java
@@ -24,7 +24,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.http.client.utils.URIBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.client.service.AuthRequestUrlBuilder;
import org.mitre.openid.connect.config.ServerConfiguration;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/SignedAuthRequestUrlBuilder.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/SignedAuthRequestUrlBuilder.java
index 604a72a391..36835235cf 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/SignedAuthRequestUrlBuilder.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/SignedAuthRequestUrlBuilder.java
@@ -24,7 +24,7 @@
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.http.client.utils.URIBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.jwt.signer.service.JWTSigningAndValidationService;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.client.service.AuthRequestUrlBuilder;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticAuthRequestOptionsService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticAuthRequestOptionsService.java
index 8febc64a09..e0c1ebb6ef 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticAuthRequestOptionsService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticAuthRequestOptionsService.java
@@ -23,7 +23,7 @@
import java.util.HashMap;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.client.service.AuthRequestOptionsService;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticClientConfigurationService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticClientConfigurationService.java
index df31018047..f48ddece95 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticClientConfigurationService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticClientConfigurationService.java
@@ -22,7 +22,7 @@
import java.util.Map;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.client.service.ClientConfigurationService;
@@ -58,7 +58,7 @@ public void setClients(Map clients) {
/**
* Get the client configured for this issuer
*
- * @see org.mitre.openid.connect.client.service.ClientConfigurationService#getClientConfiguration(java.lang.String)
+ * @see org.mitre.openid.connect.client.service.ClientConfigurationService#getClientConfiguration(ServerConfiguration)
*/
@Override
public RegisteredClient getClientConfiguration(ServerConfiguration issuer) {
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticServerConfigurationService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticServerConfigurationService.java
index ebca40c1e4..9845c088e9 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticServerConfigurationService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticServerConfigurationService.java
@@ -22,7 +22,7 @@
import java.util.Map;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.mitre.openid.connect.client.service.ServerConfigurationService;
import org.mitre.openid.connect.config.ServerConfiguration;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticSingleIssuerService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticSingleIssuerService.java
index c72b655236..349bffa7d5 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticSingleIssuerService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/StaticSingleIssuerService.java
@@ -20,8 +20,8 @@
*/
package org.mitre.openid.connect.client.service.impl;
-import javax.annotation.PostConstruct;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.PostConstruct;
+import jakarta.servlet.http.HttpServletRequest;
import org.mitre.openid.connect.client.model.IssuerServiceResponse;
import org.mitre.openid.connect.client.service.IssuerService;
@@ -53,7 +53,7 @@ public void setIssuer(String issuer) {
/**
* Always returns the configured issuer URL
*
- * @see org.mitre.openid.connect.client.service.IssuerService#getIssuer(javax.servlet.http.HttpServletRequest)
+ * @see org.mitre.openid.connect.client.service.IssuerService#getIssuer(HttpServletRequest)
*/
@Override
public IssuerServiceResponse getIssuer(HttpServletRequest request) {
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/ThirdPartyIssuerService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/ThirdPartyIssuerService.java
index b26b91c897..65c18a93e3 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/ThirdPartyIssuerService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/ThirdPartyIssuerService.java
@@ -24,10 +24,10 @@
import java.util.HashSet;
import java.util.Set;
-import javax.annotation.PostConstruct;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.annotation.PostConstruct;
+import jakarta.servlet.http.HttpServletRequest;
-import org.apache.http.client.utils.URIBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.openid.connect.client.model.IssuerServiceResponse;
import org.mitre.openid.connect.client.service.IssuerService;
import org.springframework.security.authentication.AuthenticationServiceException;
diff --git a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/WebfingerIssuerService.java b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/WebfingerIssuerService.java
index ca2fe59494..2f6d4c414d 100644
--- a/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/WebfingerIssuerService.java
+++ b/openid-connect-client/src/main/java/org/mitre/openid/connect/client/service/impl/WebfingerIssuerService.java
@@ -24,11 +24,11 @@
import java.util.Set;
import java.util.concurrent.ExecutionException;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
+import org.apache.hc.core5.net.URIBuilder;
import org.mitre.discovery.util.WebfingerURLNormalizer;
import org.mitre.openid.connect.client.model.IssuerServiceResponse;
import org.mitre.openid.connect.client.service.IssuerService;
diff --git a/openid-connect-client/src/test/java/org/mitre/oauth2/introspectingfilter/TestOAuth2AccessTokenImpl.java b/openid-connect-client/src/test/java/org/mitre/oauth2/introspectingfilter/TestOAuth2AccessTokenImpl.java
index 051b5a26c2..1f86e381c3 100644
--- a/openid-connect-client/src/test/java/org/mitre/oauth2/introspectingfilter/TestOAuth2AccessTokenImpl.java
+++ b/openid-connect-client/src/test/java/org/mitre/oauth2/introspectingfilter/TestOAuth2AccessTokenImpl.java
@@ -42,7 +42,6 @@ public class TestOAuth2AccessTokenImpl {
@Test
public void testFullToken() {
-
JsonObject tokenObj = new JsonObject();
tokenObj.addProperty("active", true);
tokenObj.addProperty("scope", scopeString);
@@ -52,8 +51,8 @@ public void testFullToken() {
OAuth2AccessTokenImpl tok = new OAuth2AccessTokenImpl(tokenObj, tokenString);
- assertThat(tok.getScope(), is(equalTo(scopes)));
- assertThat(tok.getExpiration(), is(equalTo(exp)));
+ assertThat(tok.getScopes(), is(equalTo(scopes)));
+ assertThat(tok.getExpiresAt(), is(equalTo(exp.toInstant())));
}
@Test
@@ -68,8 +67,8 @@ public void testNullExp() {
OAuth2AccessTokenImpl tok = new OAuth2AccessTokenImpl(tokenObj, tokenString);
- assertThat(tok.getScope(), is(equalTo(scopes)));
- assertThat(tok.getExpiration(), is(equalTo(null)));
+ assertThat(tok.getScopes(), is(equalTo(scopes)));
+ assertThat(tok.getExpiresAt(), is(equalTo(null)));
}
@Test
@@ -84,8 +83,8 @@ public void testNullScopes() {
OAuth2AccessTokenImpl tok = new OAuth2AccessTokenImpl(tokenObj, tokenString);
- assertThat(tok.getScope(), is(equalTo(Collections.EMPTY_SET)));
- assertThat(tok.getExpiration(), is(equalTo(exp)));
+ assertThat(tok.getScopes(), is(equalTo(Collections.EMPTY_SET)));
+ assertThat(tok.getExpiresAt(), is(equalTo(exp.toInstant())));
}
@Test
@@ -99,8 +98,8 @@ public void testNullScopesNullExp() {
OAuth2AccessTokenImpl tok = new OAuth2AccessTokenImpl(tokenObj, tokenString);
- assertThat(tok.getScope(), is(equalTo(Collections.EMPTY_SET)));
- assertThat(tok.getExpiration(), is(equalTo(null)));
+ assertThat(tok.getScopes(), is(equalTo(Collections.EMPTY_SET)));
+ assertThat(tok.getExpiresAt(), is(equalTo(null)));
}
}
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/TestOIDCAuthenticationFilter.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/TestOIDCAuthenticationFilter.java
index ae3018bbc8..ab6ee11539 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/TestOIDCAuthenticationFilter.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/TestOIDCAuthenticationFilter.java
@@ -15,8 +15,8 @@
*******************************************************************************/
package org.mitre.openid.connect.client;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.junit.Test;
import org.mockito.Mockito;
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridClientConfigurationService.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridClientConfigurationService.java
index f7455981d9..9242891af4 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridClientConfigurationService.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridClientConfigurationService.java
@@ -23,10 +23,9 @@
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.InjectMocks;
-import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.nullValue;
@@ -38,7 +37,7 @@
* @author wkim
*
*/
-@RunWith(MockitoJUnitRunner.class)
+@RunWith(MockitoJUnitRunner.Silent.class)
public class TestHybridClientConfigurationService {
@Mock
@@ -77,7 +76,7 @@ public void getClientConfiguration_useStatic() {
RegisteredClient result = hybridService.getClientConfiguration(mockServerConfig);
Mockito.verify(mockStaticService).getClientConfiguration(mockServerConfig);
- Mockito.verify(mockDynamicService, Mockito.never()).getClientConfiguration(Matchers.any(ServerConfiguration.class));
+ Mockito.verify(mockDynamicService, Mockito.never()).getClientConfiguration(Mockito.any(ServerConfiguration.class));
assertEquals(mockClient, result);
}
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridServerConfigurationService.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridServerConfigurationService.java
index c14e756f14..a85a5ea9e3 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridServerConfigurationService.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestHybridServerConfigurationService.java
@@ -17,22 +17,19 @@
*******************************************************************************/
package org.mitre.openid.connect.client.service.impl;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThat;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.InjectMocks;
-import org.mockito.Matchers;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.nullValue;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
+import org.mockito.junit.MockitoJUnitRunner;
/**
* @author wkim
@@ -71,7 +68,7 @@ public void getServerConfiguration_useStatic() {
ServerConfiguration result = hybridService.getServerConfiguration(issuer);
Mockito.verify(mockStaticService).getServerConfiguration(issuer);
- Mockito.verify(mockDynamicService, Mockito.never()).getServerConfiguration(Matchers.anyString());
+ Mockito.verify(mockDynamicService, Mockito.never()).getServerConfiguration(Mockito.anyString());
assertEquals(mockServerConfig, result);
}
@@ -94,9 +91,6 @@ public void getServerConfiguration_useDynamic() {
@Test
public void getServerConfiguration_noIssuer() {
- Mockito.when(mockStaticService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
- Mockito.when(mockDynamicService.getServerConfiguration(issuer)).thenReturn(mockServerConfig);
-
String badIssuer = "www.badexample.com";
ServerConfiguration result = hybridService.getServerConfiguration(badIssuer);
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestPlainAuthRequestUrlBuilder.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestPlainAuthRequestUrlBuilder.java
index 391afb612c..df03dbc7e7 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestPlainAuthRequestUrlBuilder.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestPlainAuthRequestUrlBuilder.java
@@ -62,7 +62,7 @@ public void buildAuthRequestUrl() {
String expectedUrl = "https://server.example.com/authorize?" +
"response_type=code" +
"&client_id=s6BhdRkqt3" +
- "&scope=openid+profile" + // plus sign used for space per application/x-www-form-encoded standard
+ "&scope=openid%20profile" + // plus sign used for space per application/x-www-form-encoded standard
"&redirect_uri=https%3A%2F%2Fclient.example.org%2F" +
"&nonce=34fasf3ds" +
"&state=af0ifjsldkj" +
@@ -81,7 +81,7 @@ public void buildAuthRequestUrl_withLoginHint() {
String expectedUrl = "https://server.example.com/authorize?" +
"response_type=code" +
"&client_id=s6BhdRkqt3" +
- "&scope=openid+profile" + // plus sign used for space per application/x-www-form-encoded standard
+ "&scope=openid%20profile" + // plus sign used for space per application/x-www-form-encoded standard
"&redirect_uri=https%3A%2F%2Fclient.example.org%2F" +
"&nonce=34fasf3ds" +
"&state=af0ifjsldkj" +
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticClientConfigurationService.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticClientConfigurationService.java
index 4f251a4e3c..6e544dc44c 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticClientConfigurationService.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticClientConfigurationService.java
@@ -27,7 +27,7 @@
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticServerConfigurationService.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticServerConfigurationService.java
index 9f86bd3469..6a4aaa3997 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticServerConfigurationService.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestStaticServerConfigurationService.java
@@ -25,7 +25,7 @@
import org.junit.runner.RunWith;
import org.mitre.openid.connect.config.ServerConfiguration;
import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
diff --git a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestThirdPartyIssuerService.java b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestThirdPartyIssuerService.java
index 7a54e7d16c..f5b4ca4480 100644
--- a/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestThirdPartyIssuerService.java
+++ b/openid-connect-client/src/test/java/org/mitre/openid/connect/client/service/impl/TestThirdPartyIssuerService.java
@@ -17,7 +17,7 @@
*******************************************************************************/
package org.mitre.openid.connect.client.service.impl;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.junit.Before;
import org.junit.Test;
diff --git a/openid-connect-common/pom.xml b/openid-connect-common/pom.xml
index 579837ffba..c597962de1 100644
--- a/openid-connect-common/pom.xml
+++ b/openid-connect-common/pom.xml
@@ -22,7 +22,7 @@
openid-connect-parent
org.mitre
- 1.3.5-SNAPSHOT
+ 1.3.4.1
..
openid-connect-common
@@ -52,20 +52,24 @@
guava
- org.apache.httpcomponents
- httpclient
+ org.apache.httpcomponents.client5
+ httpclient5
- org.springframework.security.oauth
- spring-security-oauth2
+ org.springframework.security
+ spring-security-oauth2-client
+
+
+ org.springframework.security
+ spring-security-oauth2-resource-server
com.nimbusds
nimbus-jose-jwt
- org.eclipse.persistence
- javax.persistence
+ jakarta.persistence
+ jakarta.persistence-api
com.google.code.gson
@@ -75,37 +79,17 @@
org.slf4j
slf4j-api
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- com.fasterxml.jackson.core
- jackson-annotations
-
org.bouncycastle
bcprov-jdk15on
- javax.annotation
- javax.annotation-api
+ jakarta.annotation
+ jakarta.annotation-api
- jakarta.xml.bind
- jakarta.xml.bind-api
-
-
- javax.xml.bind
- jaxb-api
-
-
- javax.activation
- activation
-
-
- org.glassfish.jaxb
- jaxb-runtime
+ org.springframework.security
+ spring-security-oauth2-authorization-server
diff --git a/openid-connect-common/src/main/java/org/mitre/jwt/encryption/service/impl/DefaultJWTEncryptionAndDecryptionService.java b/openid-connect-common/src/main/java/org/mitre/jwt/encryption/service/impl/DefaultJWTEncryptionAndDecryptionService.java
index dbe8a530bb..f6ab4f59f5 100644
--- a/openid-connect-common/src/main/java/org/mitre/jwt/encryption/service/impl/DefaultJWTEncryptionAndDecryptionService.java
+++ b/openid-connect-common/src/main/java/org/mitre/jwt/encryption/service/impl/DefaultJWTEncryptionAndDecryptionService.java
@@ -25,7 +25,7 @@
import java.util.Map;
import java.util.Set;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.mitre.jose.keystore.JWKSetKeyStore;
import org.mitre.jwt.encryption.service.JWTEncryptionAndDecryptionService;
diff --git a/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/JWKSetCacheService.java b/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/JWKSetCacheService.java
index 8c98005115..33df48156d 100644
--- a/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/JWKSetCacheService.java
+++ b/openid-connect-common/src/main/java/org/mitre/jwt/signer/service/impl/JWKSetCacheService.java
@@ -20,11 +20,12 @@
*/
package org.mitre.jwt.signer.service.impl;
+import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.hc.client5.http.classic.HttpClient;
+import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.mitre.jose.keystore.JWKSetKeyStore;
import org.mitre.jwt.encryption.service.JWTEncryptionAndDecryptionService;
import org.mitre.jwt.encryption.service.impl.DefaultJWTEncryptionAndDecryptionService;
@@ -80,7 +81,7 @@ public JWKSetCacheService() {
* @param jwksUri
* @return
* @throws ExecutionException
- * @see com.google.common.cache.Cache#get(java.lang.Object)
+ * @see com.google.common.cache.Cache#get(Object, Callable)
*/
public JWTSigningAndValidationService getValidator(String jwksUri) {
try {
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthenticationHolderEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthenticationHolderEntity.java
index 28accd47e7..0628aa9ecc 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthenticationHolderEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthenticationHolderEntity.java
@@ -19,35 +19,30 @@
import java.io.Serializable;
import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.MapKeyColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Transient;
-
import org.mitre.oauth2.model.convert.SerializableStringConverter;
import org.mitre.oauth2.model.convert.SimpleGrantedAuthorityStringConverter;
import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
-import org.springframework.security.oauth2.provider.OAuth2Request;
+
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapKeyColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
@Entity
@Table(name = "authentication_holder")
@@ -100,40 +95,6 @@ public void setId(Long id) {
this.id = id;
}
- @Transient
- public OAuth2Authentication getAuthentication() {
- // TODO: memoize this
- return new OAuth2Authentication(createOAuth2Request(), getUserAuth());
- }
-
- /**
- * @return
- */
- private OAuth2Request createOAuth2Request() {
- return new OAuth2Request(requestParameters, clientId, authorities, approved, scope, resourceIds, redirectUri, responseTypes, extensions);
- }
-
- public void setAuthentication(OAuth2Authentication authentication) {
-
- // pull apart the request and save its bits
- OAuth2Request o2Request = authentication.getOAuth2Request();
- setAuthorities(o2Request.getAuthorities() == null ? null : new HashSet<>(o2Request.getAuthorities()));
- setClientId(o2Request.getClientId());
- setExtensions(o2Request.getExtensions() == null ? null : new HashMap<>(o2Request.getExtensions()));
- setRedirectUri(o2Request.getRedirectUri());
- setRequestParameters(o2Request.getRequestParameters() == null ? null : new HashMap<>(o2Request.getRequestParameters()));
- setResourceIds(o2Request.getResourceIds() == null ? null : new HashSet<>(o2Request.getResourceIds()));
- setResponseTypes(o2Request.getResponseTypes() == null ? null : new HashSet<>(o2Request.getResponseTypes()));
- setScope(o2Request.getScope() == null ? null : new HashSet<>(o2Request.getScope()));
- setApproved(o2Request.isApproved());
-
- if (authentication.getUserAuthentication() != null) {
- this.userAuth = new SavedUserAuthentication(authentication.getUserAuthentication());
- } else {
- this.userAuth = null;
- }
- }
-
/**
* @return the userAuth
*/
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
index 385f467685..24796a1b9c 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
@@ -19,18 +19,18 @@
import java.util.Date;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
/**
* Entity class for authorization codes
@@ -122,14 +122,14 @@ public AuthenticationHolderEntity getAuthenticationHolder() {
}
/**
- * @param authentication the authentication to set
+ * @param authenticationHolder the authentication to set
*/
public void setAuthenticationHolder(AuthenticationHolderEntity authenticationHolder) {
this.authenticationHolder = authenticationHolder;
}
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name = "expiration")
public Date getExpiration() {
return expiration;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/ClientDetailsEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/ClientDetailsEntity.java
index c161c07970..b22bfda6a0 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/ClientDetailsEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/ClientDetailsEntity.java
@@ -15,9 +15,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
-/**
- *
- */
+
package org.mitre.oauth2.model;
import java.util.Date;
@@ -26,27 +24,27 @@
import java.util.Map;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.PrePersist;
-import javax.persistence.PreUpdate;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-import javax.persistence.Transient;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.PrePersist;
+import jakarta.persistence.PreUpdate;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
+import jakarta.persistence.Transient;
import org.mitre.oauth2.model.convert.JWEAlgorithmStringConverter;
import org.mitre.oauth2.model.convert.JWEEncryptionMethodStringConverter;
@@ -56,7 +54,7 @@
import org.mitre.oauth2.model.convert.PKCEAlgorithmStringConverter;
import org.mitre.oauth2.model.convert.SimpleGrantedAuthorityStringConverter;
import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.oauth2.provider.ClientDetails;
+import org.springframework.security.oauth2.server.authorization.client.RegisteredClient;
import com.nimbusds.jose.EncryptionMethod;
import com.nimbusds.jose.JWEAlgorithm;
@@ -74,7 +72,7 @@
@NamedQuery(name = ClientDetailsEntity.QUERY_ALL, query = "SELECT c FROM ClientDetailsEntity c"),
@NamedQuery(name = ClientDetailsEntity.QUERY_BY_CLIENT_ID, query = "select c from ClientDetailsEntity c where c.clientId = :" + ClientDetailsEntity.PARAM_CLIENT_ID)
})
-public class ClientDetailsEntity implements ClientDetails {
+public class ClientDetailsEntity extends RegisteredClient {
public static final String QUERY_BY_CLIENT_ID = "ClientDetailsEntity.getByClientId";
public static final String QUERY_ALL = "ClientDetailsEntity.findAll";
@@ -85,7 +83,7 @@ public class ClientDetailsEntity implements ClientDetails {
private static final long serialVersionUID = -1617727085733786296L;
- private Long id;
+ private Long longId;
/** Fields from the OAuth2 Dynamic Registration Specification */
private String clientId = null; // client_id
@@ -262,16 +260,16 @@ private void prePersist() {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
- public Long getId() {
- return id;
+ public Long getLongId() {
+ return longId;
}
/**
*
- * @param id the id to set
+ * @param longId the id to set
*/
- public void setId(Long id) {
- this.id = id;
+ public void setLongId(Long longId) {
+ this.longId = longId;
}
/**
@@ -369,7 +367,6 @@ public void setAllowIntrospection(boolean allowIntrospection) {
/**
*
*/
- @Override
@Transient
public boolean isSecretRequired() {
if (getTokenEndpointAuthMethod() != null &&
@@ -386,10 +383,9 @@ public boolean isSecretRequired() {
/**
* If the scope list is not null or empty, then this client has been scoped.
*/
- @Override
@Transient
public boolean isScoped() {
- return getScope() != null && !getScope().isEmpty();
+ return getScopes() != null && !getScopes().isEmpty();
}
/**
@@ -436,7 +432,7 @@ public void setClientSecret(String clientSecret) {
)
@Override
@Column(name="scope")
- public Set getScope() {
+ public Set getScopes() {
return scope;
}
@@ -461,7 +457,7 @@ public Set getGrantTypes() {
}
/**
- * @param authorizedGrantTypes the OAuth2 grant types that this client is allowed to use
+ * @param grantTypes the OAuth2 grant types that this client is allowed to use
*/
public void setGrantTypes(Set grantTypes) {
this.grantTypes = grantTypes;
@@ -470,7 +466,6 @@ public void setGrantTypes(Set grantTypes) {
/**
* passthrough for SECOAUTH api
*/
- @Override
@Transient
public Set getAuthorizedGrantTypes() {
return getGrantTypes();
@@ -484,7 +479,6 @@ public Set getAuthorizedGrantTypes() {
name="client_authority",
joinColumns=@JoinColumn(name="owner_id")
)
- @Override
@Convert(converter = SimpleGrantedAuthorityStringConverter.class)
@Column(name="authority")
public Set getAuthorities() {
@@ -498,7 +492,6 @@ public void setAuthorities(Set authorities) {
this.authorities = authorities;
}
- @Override
@Basic
@Column(name="access_token_validity_seconds")
public Integer getAccessTokenValiditySeconds() {
@@ -506,13 +499,12 @@ public Integer getAccessTokenValiditySeconds() {
}
/**
- * @param accessTokenTimeout the accessTokenTimeout to set
+ * @param accessTokenValiditySeconds the accessTokenTimeout to set
*/
public void setAccessTokenValiditySeconds(Integer accessTokenValiditySeconds) {
this.accessTokenValiditySeconds = accessTokenValiditySeconds;
}
- @Override
@Basic
@Column(name="refresh_token_validity_seconds")
public Integer getRefreshTokenValiditySeconds() {
@@ -520,7 +512,7 @@ public Integer getRefreshTokenValiditySeconds() {
}
/**
- * @param refreshTokenTimeout Lifetime of refresh tokens, in seconds (optional - leave null for no timeout)
+ * @param refreshTokenValiditySeconds Lifetime of refresh tokens, in seconds (optional - leave null for no timeout)
*/
public void setRefreshTokenValiditySeconds(Integer refreshTokenValiditySeconds) {
this.refreshTokenValiditySeconds = refreshTokenValiditySeconds;
@@ -540,7 +532,7 @@ public Set getRedirectUris() {
}
/**
- * @param registeredRedirectUri the registeredRedirectUri to set
+ * @param redirectUris the registeredRedirectUri to set
*/
public void setRedirectUris(Set redirectUris) {
this.redirectUris = redirectUris;
@@ -549,7 +541,6 @@ public void setRedirectUris(Set redirectUris) {
/**
* Pass-through method to fulfill the ClientDetails interface with a bad name
*/
- @Override
@Transient
public Set getRegisteredRedirectUri() {
return getRedirectUris();
@@ -558,7 +549,6 @@ public Set getRegisteredRedirectUri() {
/**
* @return the resourceIds
*/
- @Override
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(
name="client_resource",
@@ -585,7 +575,6 @@ public void setResourceIds(Set resourceIds) {
*
* @return an empty map
*/
- @Override
@Transient
public Map getAdditionalInformation() {
return this.additionalInformation;
@@ -678,7 +667,7 @@ public String getClientUri() {
}
/**
- * @param clientUrl the clientUrl to set
+ * @param clientUri the clientUrl to set
*/
public void setClientUri(String clientUri) {
this.clientUri = clientUri;
@@ -694,7 +683,7 @@ public String getTosUri() {
}
/**
- * @param tosUrl the tosUrl to set
+ * @param tosUri the tosUrl to set
*/
public void setTosUri(String tosUri) {
this.tosUri = tosUri;
@@ -960,7 +949,6 @@ public void setCreatedAt(Date createdAt) {
/**
* Our framework doesn't use this construct, we use WhitelistedSites and ApprovedSites instead.
*/
- @Override
public boolean isAutoApprove(String scope) {
return false;
}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/DeviceCode.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/DeviceCode.java
index c15a95fe11..aadb365556 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/DeviceCode.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/DeviceCode.java
@@ -20,22 +20,22 @@
import java.util.Map;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.MapKeyColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.MapKeyColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
/**
* @author jricher
@@ -150,7 +150,7 @@ public void setScope(Set scope) {
}
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name = "expiration")
public Date getExpiration() {
return expiration;
@@ -224,7 +224,7 @@ public AuthenticationHolderEntity getAuthenticationHolder() {
}
/**
- * @param authentication the authentication to set
+ * @param authenticationHolder the authentication to set
*/
public void setAuthenticationHolder(AuthenticationHolderEntity authenticationHolder) {
this.authenticationHolder = authenticationHolder;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java
index d1bda807b7..ae43208f34 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2AccessTokenEntity.java
@@ -15,48 +15,46 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
-/**
- *
- */
+
package org.mitre.oauth2.model;
-import java.util.Date;
+import java.text.ParseException;
+import java.time.Duration;
+import java.time.Instant;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.Transient;
-
import org.mitre.oauth2.model.convert.JWTStringConverter;
import org.mitre.openid.connect.model.ApprovedSite;
import org.mitre.uma.model.Permission;
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
-import org.springframework.security.oauth2.common.OAuth2AccessTokenJackson1Deserializer;
-import org.springframework.security.oauth2.common.OAuth2AccessTokenJackson1Serializer;
-import org.springframework.security.oauth2.common.OAuth2AccessTokenJackson2Deserializer;
-import org.springframework.security.oauth2.common.OAuth2AccessTokenJackson2Serializer;
-import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+import org.springframework.security.oauth2.core.OAuth2AccessToken;
+import org.springframework.security.oauth2.core.OAuth2RefreshToken;
import com.nimbusds.jwt.JWT;
+import com.nimbusds.jwt.JWTParser;
+
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.Transient;
/**
* @author jricher
@@ -66,7 +64,7 @@
@Table(name = "access_token")
@NamedQueries({
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_ALL, query = "select a from OAuth2AccessTokenEntity a"),
- @NamedQuery(name = OAuth2AccessTokenEntity.QUERY_EXPIRED_BY_DATE, query = "select a from OAuth2AccessTokenEntity a where a.expiration <= :" + OAuth2AccessTokenEntity.PARAM_DATE),
+ @NamedQuery(name = OAuth2AccessTokenEntity.QUERY_EXPIRED_BY_DATE, query = "select a from OAuth2AccessTokenEntity a where a.expiresAt <= :" + OAuth2AccessTokenEntity.PARAM_DATE),
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_REFRESH_TOKEN, query = "select a from OAuth2AccessTokenEntity a where a.refreshToken = :" + OAuth2AccessTokenEntity.PARAM_REFERSH_TOKEN),
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_CLIENT, query = "select a from OAuth2AccessTokenEntity a where a.client = :" + OAuth2AccessTokenEntity.PARAM_CLIENT),
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select a from OAuth2AccessTokenEntity a where a.jwt = :" + OAuth2AccessTokenEntity.PARAM_TOKEN_VALUE),
@@ -74,11 +72,8 @@
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_RESOURCE_SET, query = "select a from OAuth2AccessTokenEntity a join a.permissions p where p.resourceSet.id = :" + OAuth2AccessTokenEntity.PARAM_RESOURCE_SET_ID),
@NamedQuery(name = OAuth2AccessTokenEntity.QUERY_BY_NAME, query = "select r from OAuth2AccessTokenEntity r where r.authenticationHolder.userAuth.name = :" + OAuth2AccessTokenEntity.PARAM_NAME)
})
-@org.codehaus.jackson.map.annotate.JsonSerialize(using = OAuth2AccessTokenJackson1Serializer.class)
-@org.codehaus.jackson.map.annotate.JsonDeserialize(using = OAuth2AccessTokenJackson1Deserializer.class)
-@com.fasterxml.jackson.databind.annotation.JsonSerialize(using = OAuth2AccessTokenJackson2Serializer.class)
-@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = OAuth2AccessTokenJackson2Deserializer.class)
-public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
+
+public class OAuth2AccessTokenEntity extends OAuth2AccessToken {
public static final String QUERY_BY_APPROVED_SITE = "OAuth2AccessTokenEntity.getByApprovedSite";
public static final String QUERY_BY_TOKEN_VALUE = "OAuth2AccessTokenEntity.getByTokenValue";
@@ -107,9 +102,9 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
private JWT jwtValue; // JWT-encoded access token value
- private Date expiration;
+ private Instant expiresAt;
- private String tokenType = OAuth2AccessToken.BEARER_TYPE;
+ private TokenType tokenType = TokenType.BEARER;
private OAuth2RefreshTokenEntity refreshToken;
@@ -121,13 +116,19 @@ public class OAuth2AccessTokenEntity implements OAuth2AccessToken {
private Map additionalInformation = new HashMap<>(); // ephemeral map of items to be added to the OAuth token response
- /**
- * Create a new, blank access token
- */
public OAuth2AccessTokenEntity() {
-
+ super(TokenType.BEARER, null, null, null, Collections.emptySet());
}
+ public OAuth2AccessTokenEntity(TokenType tokenType, String tokenValue, Instant issuedAt, Instant expiresAt, Set scopes)
+ throws ParseException {
+ super(tokenType, tokenValue, issuedAt, expiresAt, scopes);
+ this.jwtValue = JWTParser.parse(tokenValue);
+ this.expiresAt = expiresAt;
+ this.tokenType = tokenType;
+ this.scope = scopes;
+ }
+
/**
* @return the id
*/
@@ -149,7 +150,6 @@ public void setId(Long id) {
* Get all additional information to be sent to the serializer as part of the token response.
* This map is not persisted to the database.
*/
- @Override
@Transient
public Map getAdditionalInformation() {
return additionalInformation;
@@ -166,7 +166,7 @@ public AuthenticationHolderEntity getAuthenticationHolder() {
}
/**
- * @param authentication the authentication to set
+ * @param authenticationHolder the authentication to set
*/
public void setAuthenticationHolder(AuthenticationHolderEntity authenticationHolder) {
this.authenticationHolder = authenticationHolder;
@@ -193,34 +193,33 @@ public void setClient(ClientDetailsEntity client) {
*/
@Override
@Transient
- public String getValue() {
+ public String getTokenValue() {
return jwtValue.serialize();
}
@Override
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name = "expiration")
- public Date getExpiration() {
- return expiration;
+ public Instant getExpiresAt() {
+ return expiresAt;
}
- public void setExpiration(Date expiration) {
- this.expiration = expiration;
+ public void getExpiresAt(Instant expiresAt) {
+ this.expiresAt = expiresAt;
}
@Override
@Basic
@Column(name="token_type")
- public String getTokenType() {
+ public TokenType getTokenType() {
return tokenType;
}
- public void setTokenType(String tokenType) {
+ public void setTokenType(TokenType tokenType) {
this.tokenType = tokenType;
}
- @Override
@ManyToOne
@JoinColumn(name="refresh_token_id")
public OAuth2RefreshTokenEntity getRefreshToken() {
@@ -245,18 +244,17 @@ public void setRefreshToken(OAuth2RefreshToken refreshToken) {
joinColumns=@JoinColumn(name="owner_id"),
name="token_scope"
)
- public Set getScope() {
+ public Set getScopes() {
return scope;
}
- public void setScope(Set scope) {
+ public void setScopes(Set scope) {
this.scope = scope;
}
- @Override
@Transient
public boolean isExpired() {
- return getExpiration() == null ? false : System.currentTimeMillis() > getExpiration().getTime();
+ return expiresAt != null && Instant.now().isAfter(expiresAt);
}
/**
@@ -270,24 +268,23 @@ public JWT getJwt() {
}
/**
- * @param jwtValue the jwtValue to set
+ * @param jwt the jwtValue to set
*/
public void setJwt(JWT jwt) {
this.jwtValue = jwt;
}
- @Override
@Transient
public int getExpiresIn() {
- if (getExpiration() == null) {
+ if (getExpiresAt() == null) {
return -1; // no expiration time
} else {
- int secondsRemaining = (int) ((getExpiration().getTime() - System.currentTimeMillis()) / 1000);
- if (isExpired()) {
- return 0; // has an expiration time and expired
- } else { // has an expiration time and not expired
- return secondsRemaining;
+ Duration duration = Duration.between(Instant.now(), getExpiresAt());
+ if (duration.isNegative()) {
+ return 0; // Already expired
+ } else {
+ return (int) duration.getSeconds();
}
}
}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2RefreshTokenEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2RefreshTokenEntity.java
index f6c2d2153c..cb789bbbb0 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2RefreshTokenEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/OAuth2RefreshTokenEntity.java
@@ -22,24 +22,24 @@
import java.util.Date;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.Transient;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.Transient;
import org.mitre.oauth2.model.convert.JWTStringConverter;
-import org.springframework.security.oauth2.common.OAuth2RefreshToken;
+import org.springframework.security.oauth2.core.OAuth2RefreshToken;
import com.nimbusds.jwt.JWT;
@@ -56,7 +56,7 @@
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_TOKEN_VALUE, query = "select r from OAuth2RefreshTokenEntity r where r.jwt = :" + OAuth2RefreshTokenEntity.PARAM_TOKEN_VALUE),
@NamedQuery(name = OAuth2RefreshTokenEntity.QUERY_BY_NAME, query = "select r from OAuth2RefreshTokenEntity r where r.authenticationHolder.userAuth.name = :" + OAuth2RefreshTokenEntity.PARAM_NAME)
})
-public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
+public class OAuth2RefreshTokenEntity extends OAuth2RefreshToken {
public static final String QUERY_BY_TOKEN_VALUE = "OAuth2RefreshTokenEntity.getByTokenValue";
public static final String QUERY_BY_CLIENT = "OAuth2RefreshTokenEntity.getByClient";
@@ -85,7 +85,7 @@ public class OAuth2RefreshTokenEntity implements OAuth2RefreshToken {
*
*/
public OAuth2RefreshTokenEntity() {
-
+ super("", null);
}
/**
@@ -118,7 +118,7 @@ public AuthenticationHolderEntity getAuthenticationHolder() {
}
/**
- * @param authentication the authentication to set
+ * @param authenticationHolder the authentication to set
*/
public void setAuthenticationHolder(AuthenticationHolderEntity authenticationHolder) {
this.authenticationHolder = authenticationHolder;
@@ -129,12 +129,12 @@ public void setAuthenticationHolder(AuthenticationHolderEntity authenticationHol
*/
@Override
@Transient
- public String getValue() {
+ public String getTokenValue() {
return jwt.serialize();
}
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name = "expiration")
public Date getExpiration() {
return expiration;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/RegisteredClient.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/RegisteredClient.java
index 6e4003937f..4d9076bc6f 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/RegisteredClient.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/RegisteredClient.java
@@ -208,10 +208,10 @@ public void setClientSecret(String clientSecret) {
}
/**
* @return
- * @see org.mitre.oauth2.model.ClientDetailsEntity#getScope()
+ * @see org.mitre.oauth2.model.ClientDetailsEntity#getScopes()
*/
public Set getScope() {
- return client.getScope();
+ return client.getScopes();
}
/**
* @param scope
@@ -574,7 +574,7 @@ public Set getPostLogoutRedirectUris() {
}
/**
* @param postLogoutRedirectUri
- * @see org.mitre.oauth2.model.ClientDetailsEntity#setPostLogoutRedirectUris(java.lang.String)
+ * @see org.mitre.oauth2.model.ClientDetailsEntity#setPostLogoutRedirectUris(Set)
*/
public void setPostLogoutRedirectUris(Set postLogoutRedirectUri) {
client.setPostLogoutRedirectUris(postLogoutRedirectUri);
@@ -767,7 +767,7 @@ public Date getClientSecretExpiresAt() {
return clientSecretExpiresAt;
}
/**
- * @param clientSecretExpiresAt the clientSecretExpiresAt to set
+ * @param expiresAt the clientSecretExpiresAt to set
*/
public void setClientSecretExpiresAt(Date expiresAt) {
this.clientSecretExpiresAt = expiresAt;
@@ -779,7 +779,7 @@ public Date getClientIdIssuedAt() {
return clientIdIssuedAt;
}
/**
- * @param clientIdIssuedAt the clientIdIssuedAt to set
+ * @param issuedAt the clientIdIssuedAt to set
*/
public void setClientIdIssuedAt(Date issuedAt) {
this.clientIdIssuedAt = issuedAt;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/SavedUserAuthentication.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/SavedUserAuthentication.java
index 21fa34a830..5448f617b2 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/SavedUserAuthentication.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/SavedUserAuthentication.java
@@ -19,19 +19,19 @@
import java.util.Collection;
import java.util.HashSet;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.Table;
-import javax.persistence.Transient;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.Table;
+import jakarta.persistence.Transient;
import org.mitre.oauth2.model.convert.SimpleGrantedAuthorityStringConverter;
import org.springframework.security.core.Authentication;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/SystemScope.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/SystemScope.java
index 0807b160e8..d004fa88ba 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/SystemScope.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/SystemScope.java
@@ -20,15 +20,15 @@
*/
package org.mitre.oauth2.model;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
/**
* @author jricher
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEAlgorithmStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEAlgorithmStringConverter.java
index 1341cb4bc8..a4c5e116c4 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEAlgorithmStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEAlgorithmStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import com.nimbusds.jose.JWEAlgorithm;
@@ -44,4 +44,4 @@ public JWEAlgorithm convertToEntityAttribute(String dbData) {
return null;
}
}
-}
\ No newline at end of file
+}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEEncryptionMethodStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEEncryptionMethodStringConverter.java
index a9f0355b8b..8239d2a256 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEEncryptionMethodStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWEEncryptionMethodStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import com.nimbusds.jose.EncryptionMethod;
@@ -44,4 +44,4 @@ public EncryptionMethod convertToEntityAttribute(String dbData) {
return null;
}
}
-}
\ No newline at end of file
+}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWKSetStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWKSetStringConverter.java
index f499e1af4b..7da573f0ae 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWKSetStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWKSetStringConverter.java
@@ -18,8 +18,8 @@
import java.text.ParseException;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWSAlgorithmStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWSAlgorithmStringConverter.java
index c671c50fa0..839a09a1ff 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWSAlgorithmStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWSAlgorithmStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import com.nimbusds.jose.JWSAlgorithm;
@@ -44,4 +44,4 @@ public JWSAlgorithm convertToEntityAttribute(String dbData) {
return null;
}
}
-}
\ No newline at end of file
+}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWTStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWTStringConverter.java
index 6f69c6a88b..904546df09 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWTStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JWTStringConverter.java
@@ -18,8 +18,8 @@
import java.text.ParseException;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JsonElementStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JsonElementStringConverter.java
index 3ee6305372..48c9638291 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JsonElementStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/JsonElementStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import com.google.common.base.Strings;
import com.google.gson.JsonElement;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/PKCEAlgorithmStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/PKCEAlgorithmStringConverter.java
index 4e8359f841..8558a85c04 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/PKCEAlgorithmStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/PKCEAlgorithmStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.mitre.oauth2.model.PKCEAlgorithm;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SerializableStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SerializableStringConverter.java
index 0c3e523884..cb715a1f2e 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SerializableStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SerializableStringConverter.java
@@ -19,8 +19,8 @@
import java.io.Serializable;
import java.util.Date;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SimpleGrantedAuthorityStringConverter.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SimpleGrantedAuthorityStringConverter.java
index 875387508f..25135eedec 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SimpleGrantedAuthorityStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/convert/SimpleGrantedAuthorityStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.oauth2.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/service/ClientDetailsEntityService.java b/openid-connect-common/src/main/java/org/mitre/oauth2/service/ClientDetailsEntityService.java
deleted file mode 100644
index 08695c6751..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/service/ClientDetailsEntityService.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.oauth2.service;
-
-import java.util.Collection;
-
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.springframework.security.oauth2.common.exceptions.OAuth2Exception;
-import org.springframework.security.oauth2.provider.ClientDetailsService;
-
-public interface ClientDetailsEntityService extends ClientDetailsService {
-
- public ClientDetailsEntity saveNewClient(ClientDetailsEntity client);
-
- public ClientDetailsEntity getClientById(Long id);
-
- @Override
- public ClientDetailsEntity loadClientByClientId(String clientId) throws OAuth2Exception;
-
- public void deleteClient(ClientDetailsEntity client);
-
- public ClientDetailsEntity updateClient(ClientDetailsEntity oldClient, ClientDetailsEntity newClient);
-
- public Collection getAllClients();
-
- public ClientDetailsEntity generateClientId(ClientDetailsEntity client);
-
- public ClientDetailsEntity generateClientSecret(ClientDetailsEntity client);
-
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/service/DeviceCodeService.java b/openid-connect-common/src/main/java/org/mitre/oauth2/service/DeviceCodeService.java
deleted file mode 100644
index b9601292ee..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/service/DeviceCodeService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * 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 org.mitre.oauth2.service;
-
-import java.util.Map;
-import java.util.Set;
-
-import org.mitre.oauth2.exception.DeviceCodeCreationException;
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.DeviceCode;
-import org.springframework.security.oauth2.provider.ClientDetails;
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
-
-/**
- * @author jricher
- *
- */
-public interface DeviceCodeService {
-
- /**
- * @param userCode
- * @return
- */
- public DeviceCode lookUpByUserCode(String userCode);
-
- /**
- * @param dc
- * @param o2Auth
- */
- public DeviceCode approveDeviceCode(DeviceCode dc, OAuth2Authentication o2Auth);
-
- /**
- * @param deviceCode
- * @param client
- * @return
- */
- public DeviceCode findDeviceCode(String deviceCode, ClientDetails client);
-
-
- /**
- *
- * @param deviceCode
- * @param client
- */
- public void clearDeviceCode(String deviceCode, ClientDetails client);
-
- /**
- * @param deviceCode
- * @param userCode
- * @param requestedScopes
- * @param client
- * @param parameters
- * @return
- */
- public DeviceCode createNewDeviceCode(Set requestedScopes, ClientDetailsEntity client, Map parameters) throws DeviceCodeCreationException;
-
-
- public void clearExpiredDeviceCodes();
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/service/OAuth2TokenEntityService.java b/openid-connect-common/src/main/java/org/mitre/oauth2/service/OAuth2TokenEntityService.java
deleted file mode 100644
index c39ccd90da..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/service/OAuth2TokenEntityService.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.oauth2.service;
-
-import java.util.List;
-import java.util.Set;
-
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
-import org.mitre.oauth2.model.OAuth2RefreshTokenEntity;
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
-import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
-import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
-
-public interface OAuth2TokenEntityService extends AuthorizationServerTokenServices, ResourceServerTokenServices {
-
- @Override
- public OAuth2AccessTokenEntity readAccessToken(String accessTokenValue);
-
- public OAuth2RefreshTokenEntity getRefreshToken(String refreshTokenValue);
-
- public void revokeRefreshToken(OAuth2RefreshTokenEntity refreshToken);
-
- public void revokeAccessToken(OAuth2AccessTokenEntity accessToken);
-
- public List getAccessTokensForClient(ClientDetailsEntity client);
-
- public List getRefreshTokensForClient(ClientDetailsEntity client);
-
- public void clearExpiredTokens();
-
- public OAuth2AccessTokenEntity saveAccessToken(OAuth2AccessTokenEntity accessToken);
-
- public OAuth2RefreshTokenEntity saveRefreshToken(OAuth2RefreshTokenEntity refreshToken);
-
- @Override
- public OAuth2AccessTokenEntity getAccessToken(OAuth2Authentication authentication);
-
- public OAuth2AccessTokenEntity getAccessTokenById(Long id);
-
- public OAuth2RefreshTokenEntity getRefreshTokenById(Long id);
-
- public Set getAllAccessTokensForUser(String name);
-
- public Set getAllRefreshTokensForUser(String name);
-
- public OAuth2AccessTokenEntity getRegistrationAccessTokenForClient(ClientDetailsEntity client);
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/DefaultClientUserDetailsService.java b/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/DefaultClientUserDetailsService.java
deleted file mode 100644
index da7a177c87..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/DefaultClientUserDetailsService.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.oauth2.service.impl;
-
-import java.math.BigInteger;
-import java.security.SecureRandom;
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.ClientDetailsEntity.AuthMethod;
-import org.mitre.oauth2.service.ClientDetailsEntityService;
-import org.mitre.openid.connect.config.ConfigurationPropertiesBean;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
-import org.springframework.stereotype.Service;
-
-import com.google.common.base.Strings;
-
-/**
- * Shim layer to convert a ClientDetails service into a UserDetails service
- *
- * @author AANGANES
- *
- */
-@Service("clientUserDetailsService")
-public class DefaultClientUserDetailsService implements UserDetailsService {
-
- private static GrantedAuthority ROLE_CLIENT = new SimpleGrantedAuthority("ROLE_CLIENT");
-
- @Autowired
- private ClientDetailsEntityService clientDetailsService;
-
- @Autowired
- private ConfigurationPropertiesBean config;
-
- @Override
- public UserDetails loadUserByUsername(String clientId) throws UsernameNotFoundException {
-
- try {
- ClientDetailsEntity client = clientDetailsService.loadClientByClientId(clientId);
-
- if (client != null) {
-
- String password = Strings.nullToEmpty(client.getClientSecret());
-
- if (config.isHeartMode() || // if we're running HEART mode turn off all client secrets
- (client.getTokenEndpointAuthMethod() != null &&
- (client.getTokenEndpointAuthMethod().equals(AuthMethod.PRIVATE_KEY) ||
- client.getTokenEndpointAuthMethod().equals(AuthMethod.SECRET_JWT)))) {
-
- // Issue a random password each time to prevent password auth from being used (or skipped)
- // for private key or shared key clients, see #715
-
- password = new BigInteger(512, new SecureRandom()).toString(16);
- }
-
- boolean enabled = true;
- boolean accountNonExpired = true;
- boolean credentialsNonExpired = true;
- boolean accountNonLocked = true;
- Collection authorities = new HashSet<>(client.getAuthorities());
- authorities.add(ROLE_CLIENT);
-
- return new User(clientId, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
- } else {
- throw new UsernameNotFoundException("Client not found: " + clientId);
- }
- } catch (InvalidClientException e) {
- throw new UsernameNotFoundException("Client not found: " + clientId);
- }
-
- }
-
- public ClientDetailsEntityService getClientDetailsService() {
- return clientDetailsService;
- }
-
- public void setClientDetailsService(ClientDetailsEntityService clientDetailsService) {
- this.clientDetailsService = clientDetailsService;
- }
-
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/UriEncodedClientUserDetailsService.java b/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/UriEncodedClientUserDetailsService.java
deleted file mode 100644
index 64ef7e45cf..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/service/impl/UriEncodedClientUserDetailsService.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * 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 org.mitre.oauth2.service.impl;
-
-import java.io.UnsupportedEncodingException;
-import java.math.BigInteger;
-import java.security.SecureRandom;
-import java.util.Collection;
-import java.util.HashSet;
-
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.ClientDetailsEntity.AuthMethod;
-import org.mitre.oauth2.service.ClientDetailsEntityService;
-import org.mitre.openid.connect.config.ConfigurationPropertiesBean;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.User;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
-import org.springframework.stereotype.Service;
-import org.springframework.web.util.UriUtils;
-
-import com.google.common.base.Strings;
-
-/**
- * Loads client details based on URI encoding as passed in from basic auth.
- *
- * Should only get called if non-encoded provider fails.
- *
- * @author AANGANES
- *
- */
-@Service("uriEncodedClientUserDetailsService")
-public class UriEncodedClientUserDetailsService implements UserDetailsService {
-
- private static GrantedAuthority ROLE_CLIENT = new SimpleGrantedAuthority("ROLE_CLIENT");
-
- @Autowired
- private ClientDetailsEntityService clientDetailsService;
-
- @Autowired
- private ConfigurationPropertiesBean config;
-
- @Override
- public UserDetails loadUserByUsername(String clientId) throws UsernameNotFoundException {
-
- try {
- String decodedClientId = UriUtils.decode(clientId, "UTF-8");
-
- ClientDetailsEntity client = clientDetailsService.loadClientByClientId(decodedClientId);
-
- if (client != null) {
-
- String encodedPassword = UriUtils.encodePathSegment(Strings.nullToEmpty(client.getClientSecret()), "UTF-8");
-
- if (config.isHeartMode() || // if we're running HEART mode turn off all client secrets
- (client.getTokenEndpointAuthMethod() != null &&
- (client.getTokenEndpointAuthMethod().equals(AuthMethod.PRIVATE_KEY) ||
- client.getTokenEndpointAuthMethod().equals(AuthMethod.SECRET_JWT)))) {
-
- // Issue a random password each time to prevent password auth from being used (or skipped)
- // for private key or shared key clients, see #715
-
- encodedPassword = new BigInteger(512, new SecureRandom()).toString(16);
- }
-
- boolean enabled = true;
- boolean accountNonExpired = true;
- boolean credentialsNonExpired = true;
- boolean accountNonLocked = true;
- Collection authorities = new HashSet<>(client.getAuthorities());
- authorities.add(ROLE_CLIENT);
-
- return new User(decodedClientId, encodedPassword, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
- } else {
- throw new UsernameNotFoundException("Client not found: " + clientId);
- }
- } catch (InvalidClientException e) {
- throw new UsernameNotFoundException("Client not found: " + clientId);
- }
-
- }
-
- public ClientDetailsEntityService getClientDetailsService() {
- return clientDetailsService;
- }
-
- public void setClientDetailsService(ClientDetailsEntityService clientDetailsService) {
- this.clientDetailsService = clientDetailsService;
- }
-
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationBeanLocaleResolver.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationBeanLocaleResolver.java
index c351e228a4..72668e0d17 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationBeanLocaleResolver.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationBeanLocaleResolver.java
@@ -21,8 +21,8 @@
import java.util.Locale;
import java.util.TimeZone;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.i18n.LocaleContext;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationPropertiesBean.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationPropertiesBean.java
index 9d286518f1..bdeedc24da 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationPropertiesBean.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/config/ConfigurationPropertiesBean.java
@@ -20,7 +20,7 @@
import java.util.List;
import java.util.Locale;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/ApprovedSite.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/ApprovedSite.java
index c8b530c1ef..a2ef8fcd04 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/ApprovedSite.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/ApprovedSite.java
@@ -20,21 +20,21 @@
import java.util.Date;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.Transient;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.Transient;
@Entity
@Table(name="approved_site")
@@ -136,7 +136,7 @@ public void setClientId(String clientId) {
* @return the creationDate
*/
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name="creation_date")
public Date getCreationDate() {
return creationDate;
@@ -153,7 +153,7 @@ public void setCreationDate(Date creationDate) {
* @return the accessDate
*/
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name="access_date")
public Date getAccessDate() {
return accessDate;
@@ -190,7 +190,7 @@ public void setAllowedScopes(Set allowedScopes) {
* @return the timeoutDate
*/
@Basic
- @Temporal(javax.persistence.TemporalType.TIMESTAMP)
+ @Temporal(jakarta.persistence.TemporalType.TIMESTAMP)
@Column(name="timeout_date")
public Date getTimeoutDate() {
return timeoutDate;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/BlacklistedSite.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/BlacklistedSite.java
index bfa4f47667..81900f8f3e 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/BlacklistedSite.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/BlacklistedSite.java
@@ -20,15 +20,15 @@
*/
package org.mitre.openid.connect.model;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
/**
* @author jricher
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultAddress.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultAddress.java
index ecdda8bdb8..2485cf8f60 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultAddress.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultAddress.java
@@ -15,13 +15,13 @@
*******************************************************************************/
package org.mitre.openid.connect.model;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
@Entity
@Table(name="address")
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultUserInfo.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultUserInfo.java
index 8b73f3689e..5e92635868 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultUserInfo.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/DefaultUserInfo.java
@@ -21,19 +21,19 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
import org.mitre.openid.connect.model.convert.JsonObjectStringConverter;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/PairwiseIdentifier.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/PairwiseIdentifier.java
index 3ecf2fefe3..40d586b06a 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/PairwiseIdentifier.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/PairwiseIdentifier.java
@@ -20,15 +20,15 @@
*/
package org.mitre.openid.connect.model;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
/**
*
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/WhitelistedSite.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/WhitelistedSite.java
index c3e58db0d3..492bbe5595 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/WhitelistedSite.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/WhitelistedSite.java
@@ -19,19 +19,19 @@
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.Table;
/**
* Indicator that login to a site should be automatically granted
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/convert/JsonObjectStringConverter.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/convert/JsonObjectStringConverter.java
index 78c33e8cdd..0e77252776 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/model/convert/JsonObjectStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/model/convert/JsonObjectStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.openid.connect.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import com.google.common.base.Strings;
import com.google.gson.JsonObject;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/service/ApprovedSiteService.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/service/ApprovedSiteService.java
deleted file mode 100644
index bf033d8874..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/service/ApprovedSiteService.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.openid.connect.service;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
-import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
-import org.mitre.openid.connect.model.ApprovedSite;
-import org.springframework.security.oauth2.provider.ClientDetails;
-
-/**
- * Interface for ApprovedSite service
- *
- * @author Michael Joseph Walsh, aanganes
- *
- */
-public interface ApprovedSiteService {
-
-
- public ApprovedSite createApprovedSite(String clientId, String userId, Date timeoutDate, Set allowedScopes);
-
- /**
- * Return a collection of all ApprovedSites
- *
- * @return the ApprovedSite collection, or null
- */
- public Collection getAll();
-
- /**
- * Return a collection of ApprovedSite managed by this repository matching the
- * provided client ID and user ID
- *
- * @param clientId
- * @param userId
- * @return
- */
- public Collection getByClientIdAndUserId(String clientId, String userId);
-
- /**
- * Save an ApprovedSite
- *
- * @param approvedSite
- * the ApprovedSite to be saved
- */
- public ApprovedSite save(ApprovedSite approvedSite);
-
- /**
- * Get ApprovedSite for id
- *
- * @param id
- * id for ApprovedSite
- * @return ApprovedSite for id, or null
- */
- public ApprovedSite getById(Long id);
-
- /**
- * Remove the ApprovedSite
- *
- * @param approvedSite
- * the ApprovedSite to remove
- */
- public void remove(ApprovedSite approvedSite);
-
- /**
- * Get all sites approved by this user
- * @param userId
- * @return
- */
- public Collection getByUserId(String userId);
-
- /**
- * Get all sites associated with this client
- * @param clientId
- * @return
- */
- public Collection getByClientId(String clientId);
-
- /**
- * Clear out any approved sites for a given client.
- * @param client
- */
- public void clearApprovedSitesForClient(ClientDetails client);
-
- /**
- * Remove all expired approved sites fromt he data store.
- * @return
- */
- public void clearExpiredSites();
-
- /**
- * Return all approved access tokens for the site.
- * @return
- */
- public List getApprovedAccessTokens(ApprovedSite approvedSite);
-
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/service/OIDCTokenService.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/service/OIDCTokenService.java
deleted file mode 100644
index 146f6164e4..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/service/OIDCTokenService.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.openid.connect.service;
-
-import java.util.Date;
-
-import org.mitre.oauth2.model.ClientDetailsEntity;
-import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
-import org.springframework.security.oauth2.provider.OAuth2Request;
-
-import com.nimbusds.jwt.JWT;
-
-/**
- * Service to create specialty OpenID Connect tokens.
- *
- * @author Amanda Anganes
- *
- */
-public interface OIDCTokenService {
-
- /**
- * Create an id token with the information provided.
- *
- * @param client
- * @param request
- * @param issueTime
- * @param sub
- * @param signingAlg
- * @param accessToken
- * @return
- */
- public JWT createIdToken(
- ClientDetailsEntity client, OAuth2Request request, Date issueTime,
- String sub, OAuth2AccessTokenEntity accessToken);
-
- /**
- * Create a registration access token for the given client.
- *
- * @param client
- * @return
- */
- public OAuth2AccessTokenEntity createRegistrationAccessToken(ClientDetailsEntity client);
-
- /**
- * Create a resource access token for the given client (protected resource).
- *
- * @param client
- * @return
- */
- public OAuth2AccessTokenEntity createResourceAccessToken(ClientDetailsEntity client);
-
- /**
- * Rotate the registration or resource token for a client
- * @param client
- * @return
- */
- public OAuth2AccessTokenEntity rotateRegistrationAccessTokenForClient(ClientDetailsEntity client);
-
-}
\ No newline at end of file
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/view/JWKSetView.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/view/JWKSetView.java
index f18deaee18..55a4b1468f 100644
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/view/JWKSetView.java
+++ b/openid-connect-common/src/main/java/org/mitre/openid/connect/view/JWKSetView.java
@@ -25,8 +25,8 @@
import java.util.ArrayList;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/openid-connect-common/src/main/java/org/mitre/openid/connect/web/UserInfoInterceptor.java b/openid-connect-common/src/main/java/org/mitre/openid/connect/web/UserInfoInterceptor.java
deleted file mode 100644
index ac7ab41070..0000000000
--- a/openid-connect-common/src/main/java/org/mitre/openid/connect/web/UserInfoInterceptor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright 2018 The MIT Internet Trust Consortium
- *
- * Portions copyright 2011-2013 The MITRE Corporation
- *
- * 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 org.mitre.openid.connect.web;
-
-import java.lang.reflect.Type;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.mitre.openid.connect.model.OIDCAuthenticationToken;
-import org.mitre.openid.connect.model.UserInfo;
-import org.mitre.openid.connect.service.UserInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.AuthenticationTrustResolver;
-import org.springframework.security.authentication.AuthenticationTrustResolverImpl;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonPrimitive;
-import com.google.gson.JsonSerializationContext;
-import com.google.gson.JsonSerializer;
-
-/**
- * Injects the UserInfo object for the current user into the current model's context, if both exist. Allows JSPs and the like to call "userInfo.name" and other fields.
- *
- * @author jricher
- *
- */
-public class UserInfoInterceptor extends HandlerInterceptorAdapter {
-
- private Gson gson = new GsonBuilder()
- .registerTypeHierarchyAdapter(GrantedAuthority.class, new JsonSerializer() {
- @Override
- public JsonElement serialize(GrantedAuthority src, Type typeOfSrc, JsonSerializationContext context) {
- return new JsonPrimitive(src.getAuthority());
- }
- })
- .create();
-
- @Autowired (required = false)
- private UserInfoService userInfoService;
-
- private AuthenticationTrustResolver trustResolver = new AuthenticationTrustResolverImpl();
-
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-
- Authentication auth = SecurityContextHolder.getContext().getAuthentication();
-
- if (auth instanceof Authentication){
- request.setAttribute("userAuthorities", gson.toJson(auth.getAuthorities()));
- }
-
- if (!trustResolver.isAnonymous(auth)) { // skip lookup on anonymous logins
- if (auth instanceof OIDCAuthenticationToken) {
- // if they're logging into this server from a remote OIDC server, pass through their user info
- OIDCAuthenticationToken oidc = (OIDCAuthenticationToken) auth;
- if (oidc.getUserInfo() != null) {
- request.setAttribute("userInfo", oidc.getUserInfo());
- request.setAttribute("userInfoJson", oidc.getUserInfo().toJson());
- } else {
- request.setAttribute("userInfo", null);
- request.setAttribute("userInfoJson", "null");
- }
- } else {
- // don't bother checking if we don't have a principal or a userInfoService to work with
- if (auth != null && auth.getName() != null && userInfoService != null) {
-
- // try to look up a user based on the principal's name
- UserInfo user = userInfoService.getByUsername(auth.getName());
-
- // if we have one, inject it so views can use it
- if (user != null) {
- request.setAttribute("userInfo", user);
- request.setAttribute("userInfoJson", user.toJson());
- }
- }
- }
- }
-
- return true;
- }
-
-}
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/Claim.java b/openid-connect-common/src/main/java/org/mitre/uma/model/Claim.java
index d93e99c9c7..49fe457f77 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/Claim.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/Claim.java
@@ -18,18 +18,18 @@
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.Table;
import org.mitre.oauth2.model.convert.JsonElementStringConverter;
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/Permission.java b/openid-connect-common/src/main/java/org/mitre/uma/model/Permission.java
index 42fd2d7f7f..4fde6c1f0b 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/Permission.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/Permission.java
@@ -18,17 +18,17 @@
import java.util.Set;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
-import javax.persistence.Table;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.Table;
/**
* @author jricher
@@ -93,4 +93,4 @@ public Set getScopes() {
public void setScopes(Set scopes) {
this.scopes = scopes;
}
-}
\ No newline at end of file
+}
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/PermissionTicket.java b/openid-connect-common/src/main/java/org/mitre/uma/model/PermissionTicket.java
index 8b89ef5fda..e80afe00b1 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/PermissionTicket.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/PermissionTicket.java
@@ -19,23 +19,23 @@
import java.util.Collection;
import java.util.Date;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.OneToOne;
-import javax.persistence.Table;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.OneToOne;
+import jakarta.persistence.Table;
+import jakarta.persistence.Temporal;
+import jakarta.persistence.TemporalType;
/**
*
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/Policy.java b/openid-connect-common/src/main/java/org/mitre/uma/model/Policy.java
index 32098e2fb1..8ebbfbc478 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/Policy.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/Policy.java
@@ -19,20 +19,20 @@
import java.util.Collection;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
/**
* A set of claims required to fulfill a given permission.
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/ResourceSet.java b/openid-connect-common/src/main/java/org/mitre/uma/model/ResourceSet.java
index 6303d377f2..0770e10533 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/ResourceSet.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/ResourceSet.java
@@ -19,21 +19,21 @@
import java.util.HashSet;
import java.util.Set;
-import javax.persistence.Basic;
-import javax.persistence.CascadeType;
-import javax.persistence.CollectionTable;
-import javax.persistence.Column;
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.NamedQueries;
+import jakarta.persistence.NamedQuery;
+import jakarta.persistence.OneToMany;
+import jakarta.persistence.Table;
@Entity
@Table(name = "resource_set")
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/SavedRegisteredClient.java b/openid-connect-common/src/main/java/org/mitre/uma/model/SavedRegisteredClient.java
index 4b0ed95551..38cb4d6a40 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/SavedRegisteredClient.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/SavedRegisteredClient.java
@@ -16,14 +16,14 @@
package org.mitre.uma.model;
-import javax.persistence.Basic;
-import javax.persistence.Column;
-import javax.persistence.Convert;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
+import jakarta.persistence.Basic;
+import jakarta.persistence.Column;
+import jakarta.persistence.Convert;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.uma.model.convert.RegisteredClientStringConverter;
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/model/convert/RegisteredClientStringConverter.java b/openid-connect-common/src/main/java/org/mitre/uma/model/convert/RegisteredClientStringConverter.java
index 6a68f9da39..eed9b013dc 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/model/convert/RegisteredClientStringConverter.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/model/convert/RegisteredClientStringConverter.java
@@ -16,8 +16,8 @@
package org.mitre.uma.model.convert;
-import javax.persistence.AttributeConverter;
-import javax.persistence.Converter;
+import jakarta.persistence.AttributeConverter;
+import jakarta.persistence.Converter;
import org.mitre.oauth2.model.RegisteredClient;
import org.mitre.openid.connect.ClientDetailsEntityJsonProcessor;
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/service/PermissionService.java b/openid-connect-common/src/main/java/org/mitre/uma/service/PermissionService.java
index ab7ea2e3f6..efcbfd6b70 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/service/PermissionService.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/service/PermissionService.java
@@ -20,7 +20,6 @@
import org.mitre.uma.model.PermissionTicket;
import org.mitre.uma.model.ResourceSet;
-import org.springframework.security.oauth2.common.exceptions.InsufficientScopeException;
/**
diff --git a/openid-connect-common/src/main/java/org/mitre/uma/service/UmaTokenService.java b/openid-connect-common/src/main/java/org/mitre/uma/service/UmaTokenService.java
index 8ee6c86b15..0a8a65971d 100644
--- a/openid-connect-common/src/main/java/org/mitre/uma/service/UmaTokenService.java
+++ b/openid-connect-common/src/main/java/org/mitre/uma/service/UmaTokenService.java
@@ -19,7 +19,7 @@
import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
import org.mitre.uma.model.PermissionTicket;
import org.mitre.uma.model.Policy;
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
+import org.springframework.security.core.Authentication;
/**
* Service to create special tokens for UMA.
@@ -33,6 +33,6 @@ public interface UmaTokenService {
* Create the RPT from the given authentication and ticket.
*
*/
- public OAuth2AccessTokenEntity createRequestingPartyToken(OAuth2Authentication o2auth, PermissionTicket ticket, Policy policy);
+ public OAuth2AccessTokenEntity createRequestingPartyToken(Authentication o2auth, PermissionTicket ticket, Policy policy);
}
diff --git a/openid-connect-common/src/main/java/org/mitre/util/jpa/JpaUtil.java b/openid-connect-common/src/main/java/org/mitre/util/jpa/JpaUtil.java
index f15e4c371c..08bd9e918f 100644
--- a/openid-connect-common/src/main/java/org/mitre/util/jpa/JpaUtil.java
+++ b/openid-connect-common/src/main/java/org/mitre/util/jpa/JpaUtil.java
@@ -19,8 +19,8 @@
import java.util.List;
-import javax.persistence.EntityManager;
-import javax.persistence.TypedQuery;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.TypedQuery;
import org.mitre.data.PageCriteria;
diff --git a/openid-connect-server-webapp/.gitignore b/openid-connect-server-webapp/.gitignore
deleted file mode 100644
index 016a3b8f82..0000000000
--- a/openid-connect-server-webapp/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-local-values.conf
-target
-*~
-bin
-*.idea
-*.iml
-*.eml
-.project
-.settings
-.classpath
-/target
-.springBeans
diff --git a/openid-connect-server-webapp/pom.xml b/openid-connect-server-webapp/pom.xml
deleted file mode 100644
index a294b1d8bb..0000000000
--- a/openid-connect-server-webapp/pom.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-
-
-
- 4.0.0
-
- org.mitre
- openid-connect-parent
- 1.3.5-SNAPSHOT
-
- openid-connect-server-webapp
- war
- OpenID Connect Server Webapp
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- ${java-version}
- ${java-version}
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
-
- openid-connect-server-webapp
-
-
- src/main/webapp
- true
-
- **/*.tag
- **/*.jsp
-
-
-
- src/main/webapp
- false
-
- **/*.tag
- **/*.jsp
-
-
-
- less/**
-
-
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- install
- install
-
- sources
-
-
-
-
-
- org.eclipse.jetty
- jetty-maven-plugin
-
- ${project.build.directory}/openid-connect-server-webapp.war
-
- /openid-connect-server-webapp
-
-
-
-
- ro.isdc.wro4j
- wro4j-maven-plugin
-
- bootstrap,bootstrap-responsive
- ${project.build.directory}/${project.build.finalName}
- ${project.build.directory}/${project.build.finalName}/resources/bootstrap2/css/
- ${project.build.directory}/${project.build.finalName}/js/
- ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory
-
-
-
-
-
-
-
- org.mitre
- openid-connect-server
-
-
- org.springframework
- spring-orm
-
-
- commons-logging
- commons-logging
-
-
-
-
- org.slf4j
- jcl-over-slf4j
-
-
- org.slf4j
- slf4j-log4j12
-
-
- log4j
- log4j
-
-
- org.hsqldb
- hsqldb
-
-
- org.eclipse.persistence
- org.eclipse.persistence.jpa
-
-
- org.springframework.security
- spring-security-taglibs
-
-
- javax.servlet
- jstl
-
-
-
- com.zaxxer
- HikariCP
-
-
- Deployable package of the OpenID Connect server
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/clients.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/clients.sql
deleted file mode 100644
index 1410f7bd15..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/clients.sql
+++ /dev/null
@@ -1,70 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT FALSE;
-
-START TRANSACTION;
-
---
--- Insert client information into the temporary tables. To add clients to the HSQL database, edit things here.
---
-
-INSERT INTO client_details_TEMP (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection) VALUES
- ('client', 'secret', 'Test Client', false, null, 3600, 600, true);
-
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES
- ('client', 'openid'),
- ('client', 'profile'),
- ('client', 'email'),
- ('client', 'address'),
- ('client', 'phone'),
- ('client', 'offline_access');
-
-INSERT INTO client_redirect_uri_TEMP (owner_id, redirect_uri) VALUES
- ('client', 'http://localhost/'),
- ('client', 'http://localhost:8080/');
-
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES
- ('client', 'authorization_code'),
- ('client', 'urn:ietf:params:oauth:grant_type:redelegate'),
- ('client', 'urn:ietf:params:oauth:grant-type:device_code'),
- ('client', 'implicit'),
- ('client', 'refresh_token');
-
---
--- Merge the temporary clients safely into the database. This is a two-step process to keep clients from being created on every startup with a persistent store.
---
-
-MERGE INTO client_details
- USING (SELECT client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection FROM client_details_TEMP) AS vals(client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection)
- ON vals.client_id = client_details.client_id
- WHEN NOT MATCHED THEN
- INSERT (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection) VALUES(client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection);
-
-MERGE INTO client_scope
- USING (SELECT id, scope FROM client_scope_TEMP, client_details WHERE client_details.client_id = client_scope_TEMP.owner_id) AS vals(id, scope)
- ON vals.id = client_scope.owner_id AND vals.scope = client_scope.scope
- WHEN NOT MATCHED THEN
- INSERT (owner_id, scope) values (vals.id, vals.scope);
-
-MERGE INTO client_redirect_uri
- USING (SELECT id, redirect_uri FROM client_redirect_uri_TEMP, client_details WHERE client_details.client_id = client_redirect_uri_TEMP.owner_id) AS vals(id, redirect_uri)
- ON vals.id = client_redirect_uri.owner_id AND vals.redirect_uri = client_redirect_uri.redirect_uri
- WHEN NOT MATCHED THEN
- INSERT (owner_id, redirect_uri) values (vals.id, vals.redirect_uri);
-
-MERGE INTO client_grant_type
- USING (SELECT id, grant_type FROM client_grant_type_TEMP, client_details WHERE client_details.client_id = client_grant_type_TEMP.owner_id) AS vals(id, grant_type)
- ON vals.id = client_grant_type.owner_id AND vals.grant_type = client_grant_type.grant_type
- WHEN NOT MATCHED THEN
- INSERT (owner_id, grant_type) values (vals.id, vals.grant_type);
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
-SET AUTOCOMMIT TRUE;
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_index.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_index.sql
deleted file mode 100644
index 38636a96f9..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_index.sql
+++ /dev/null
@@ -1,19 +0,0 @@
---
--- Indexes for HSQLDB
---
-
-CREATE INDEX IF NOT EXISTS at_tv_idx ON access_token(token_value);
-CREATE INDEX IF NOT EXISTS ts_oi_idx ON token_scope(owner_id);
-CREATE INDEX IF NOT EXISTS at_exp_idx ON access_token(expiration);
-CREATE INDEX IF NOT EXISTS rf_ahi_idx ON refresh_token(auth_holder_id);
-CREATE INDEX IF NOT EXISTS rf_tv_idx ON refresh_token(token_value);
-CREATE INDEX IF NOT EXISTS cd_ci_idx ON client_details(client_id);
-CREATE INDEX IF NOT EXISTS at_ahi_idx ON access_token(auth_holder_id);
-CREATE INDEX IF NOT EXISTS aha_oi_idx ON authentication_holder_authority(owner_id);
-CREATE INDEX IF NOT EXISTS ahe_oi_idx ON authentication_holder_extension(owner_id);
-CREATE INDEX IF NOT EXISTS ahrp_oi_idx ON authentication_holder_request_parameter(owner_id);
-CREATE INDEX IF NOT EXISTS ahri_oi_idx ON authentication_holder_resource_id(owner_id);
-CREATE INDEX IF NOT EXISTS ahrt_oi_idx ON authentication_holder_response_type(owner_id);
-CREATE INDEX IF NOT EXISTS ahs_oi_idx ON authentication_holder_scope(owner_id);
-CREATE INDEX IF NOT EXISTS ac_ahi_idx ON authorization_code(auth_holder_id);
-CREATE INDEX IF NOT EXISTS suaa_oi_idx ON saved_user_auth_authority(owner_id);
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_tables.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_tables.sql
deleted file mode 100644
index 2a01756298..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/hsql_database_tables.sql
+++ /dev/null
@@ -1,384 +0,0 @@
---
--- Tables for OIDC Server functionality, HSQL
---
-
-CREATE TABLE IF NOT EXISTS access_token (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP,
- token_type VARCHAR(256),
- refresh_token_id BIGINT,
- client_id BIGINT,
- auth_holder_id BIGINT,
- approved_site_id BIGINT,
- UNIQUE(token_value)
-);
-
-CREATE TABLE IF NOT EXISTS access_token_permissions (
- access_token_id BIGINT NOT NULL,
- permission_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS address (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- formatted VARCHAR(256),
- street_address VARCHAR(256),
- locality VARCHAR(256),
- region VARCHAR(256),
- postal_code VARCHAR(256),
- country VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS approved_site (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- user_id VARCHAR(256),
- client_id VARCHAR(256),
- creation_date TIMESTAMP,
- access_date TIMESTAMP,
- timeout_date TIMESTAMP,
- whitelisted_site_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS approved_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- user_auth_id BIGINT,
- approved BOOLEAN,
- redirect_uri VARCHAR(2048),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_resource_id (
- owner_id BIGINT,
- resource_id VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_extension (
- owner_id BIGINT,
- extension VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- name VARCHAR(1024),
- authenticated BOOLEAN,
- source_class VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authorization_code (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- code VARCHAR(256),
- auth_holder_id BIGINT,
- expiration TIMESTAMP
-);
-
-CREATE TABLE IF NOT EXISTS client_grant_type (
- owner_id BIGINT,
- grant_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS blacklisted_site (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_details (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
-
- client_description VARCHAR(1024),
- reuse_refresh_tokens BOOLEAN DEFAULT true NOT NULL,
- dynamically_registered BOOLEAN DEFAULT false NOT NULL,
- allow_introspection BOOLEAN DEFAULT false NOT NULL,
- id_token_validity_seconds BIGINT DEFAULT 600 NOT NULL,
- device_code_validity_seconds BIGINT,
-
- client_id VARCHAR(256),
- client_secret VARCHAR(2048),
- access_token_validity_seconds BIGINT,
- refresh_token_validity_seconds BIGINT,
-
- application_type VARCHAR(256),
- client_name VARCHAR(256),
- token_endpoint_auth_method VARCHAR(256),
- subject_type VARCHAR(256),
-
- logo_uri VARCHAR(2048),
- policy_uri VARCHAR(2048),
- client_uri VARCHAR(2048),
- tos_uri VARCHAR(2048),
-
- jwks_uri VARCHAR(2048),
- jwks VARCHAR(8192),
- sector_identifier_uri VARCHAR(2048),
-
- request_object_signing_alg VARCHAR(256),
-
- user_info_signed_response_alg VARCHAR(256),
- user_info_encrypted_response_alg VARCHAR(256),
- user_info_encrypted_response_enc VARCHAR(256),
-
- id_token_signed_response_alg VARCHAR(256),
- id_token_encrypted_response_alg VARCHAR(256),
- id_token_encrypted_response_enc VARCHAR(256),
-
- token_endpoint_auth_signing_alg VARCHAR(256),
-
- default_max_age BIGINT,
- require_auth_time BOOLEAN,
- created_at TIMESTAMP,
- initiate_login_uri VARCHAR(2048),
- clear_access_tokens_on_refresh BOOLEAN DEFAULT true NOT NULL,
-
- software_statement VARCHAR(4096),
- software_id VARCHAR(2048),
- software_version VARCHAR(2048),
-
- code_challenge_method VARCHAR(256),
-
- UNIQUE (client_id)
-);
-
-CREATE TABLE IF NOT EXISTS client_request_uri (
- owner_id BIGINT,
- request_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_post_logout_redirect_uri (
- owner_id BIGINT,
- post_logout_redirect_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_default_acr_value (
- owner_id BIGINT,
- default_acr_value VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_contact (
- owner_id BIGINT,
- contact VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_claims_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS refresh_token (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP,
- auth_holder_id BIGINT,
- client_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS client_resource (
- owner_id BIGINT,
- resource_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS token_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS system_scope (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- scope VARCHAR(256) NOT NULL,
- description VARCHAR(4096),
- icon VARCHAR(256),
- restricted BOOLEAN DEFAULT false NOT NULL,
- default_scope BOOLEAN DEFAULT false NOT NULL,
- UNIQUE (scope)
-);
-
-CREATE TABLE IF NOT EXISTS user_info (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- sub VARCHAR(256),
- preferred_username VARCHAR(256),
- name VARCHAR(256),
- given_name VARCHAR(256),
- family_name VARCHAR(256),
- middle_name VARCHAR(256),
- nickname VARCHAR(256),
- profile VARCHAR(256),
- picture VARCHAR(256),
- website VARCHAR(256),
- email VARCHAR(256),
- email_verified BOOLEAN,
- gender VARCHAR(256),
- zone_info VARCHAR(256),
- locale VARCHAR(256),
- phone_number VARCHAR(256),
- phone_number_verified BOOLEAN,
- address_id VARCHAR(256),
- updated_time VARCHAR(256),
- birthdate VARCHAR(256),
- src VARCHAR(4096)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- creator_user_id VARCHAR(256),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS pairwise_identifier (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- identifier VARCHAR(256),
- sub VARCHAR(256),
- sector_identifier VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- name VARCHAR(1024) NOT NULL,
- uri VARCHAR(1024),
- icon_uri VARCHAR(1024),
- rs_type VARCHAR(256),
- owner VARCHAR(256) NOT NULL,
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS permission_ticket (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- ticket VARCHAR(256) NOT NULL,
- permission_id BIGINT NOT NULL,
- expiration TIMESTAMP
-);
-
-CREATE TABLE IF NOT EXISTS permission (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS permission_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- name VARCHAR(256),
- friendly_name VARCHAR(1024),
- claim_type VARCHAR(1024),
- claim_value VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_policy (
- policy_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_permission_ticket (
- permission_ticket_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS policy (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- name VARCHAR(1024),
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS policy_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_token_format (
- owner_id BIGINT NOT NULL,
- claim_token_format VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_issuer (
- owner_id BIGINT NOT NULL,
- issuer VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS saved_registered_client (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- issuer VARCHAR(1024),
- registered_client VARCHAR(8192)
-);
-
-CREATE TABLE IF NOT EXISTS device_code (
- id BIGINT GENERATED BY DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY,
- device_code VARCHAR(1024),
- user_code VARCHAR(1024),
- expiration TIMESTAMP,
- client_id VARCHAR(256),
- approved BOOLEAN,
- auth_holder_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS device_code_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS device_code_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/loading_temp_tables.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/loading_temp_tables.sql
deleted file mode 100644
index 37b0092e75..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/loading_temp_tables.sql
+++ /dev/null
@@ -1,73 +0,0 @@
---
--- Temporary tables used during the bootstrapping process to safely load users and clients.
--- These are not needed if you're not using the users.sql/clients.sql files to bootstrap the database.
---
-
-CREATE TEMPORARY TABLE IF NOT EXISTS authorities_TEMP (
- username varchar(50) not null,
- authority varchar(50) not null,
- constraint ix_authority_TEMP unique (username,authority));
-
-CREATE TEMPORARY TABLE IF NOT EXISTS users_TEMP (
- username varchar(50) not null primary key,
- password varchar(50) not null,
- enabled boolean not null);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS user_info_TEMP (
- sub VARCHAR(256) not null primary key,
- preferred_username VARCHAR(256),
- name VARCHAR(256),
- given_name VARCHAR(256),
- family_name VARCHAR(256),
- middle_name VARCHAR(256),
- nickname VARCHAR(256),
- profile VARCHAR(256),
- picture VARCHAR(256),
- website VARCHAR(256),
- email VARCHAR(256),
- email_verified BOOLEAN,
- gender VARCHAR(256),
- zone_info VARCHAR(256),
- locale VARCHAR(256),
- phone_number VARCHAR(256),
- address_id VARCHAR(256),
- updated_time VARCHAR(256),
- birthdate VARCHAR(256)
-);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS client_details_TEMP (
- client_description VARCHAR(256),
- dynamically_registered BOOLEAN,
- id_token_validity_seconds BIGINT,
-
- client_id VARCHAR(256),
- client_secret VARCHAR(2048),
- access_token_validity_seconds BIGINT,
- refresh_token_validity_seconds BIGINT,
- allow_introspection BOOLEAN,
-
- client_name VARCHAR(256)
-);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS client_scope_TEMP (
- owner_id VARCHAR(256),
- scope VARCHAR(2048)
-);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS client_redirect_uri_TEMP (
- owner_id VARCHAR(256),
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS client_grant_type_TEMP (
- owner_id VARCHAR(256),
- grant_type VARCHAR(2000)
-);
-
-CREATE TEMPORARY TABLE IF NOT EXISTS system_scope_TEMP (
- scope VARCHAR(256),
- description VARCHAR(4096),
- icon VARCHAR(256),
- restricted BOOLEAN,
- default_scope BOOLEAN
-);
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/scopes.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/scopes.sql
deleted file mode 100644
index 8e72c88c7f..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/scopes.sql
+++ /dev/null
@@ -1,33 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT FALSE;
-
-START TRANSACTION;
-
---
--- Insert scope information into the temporary tables.
---
-
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('openid', 'log in using your identity', 'user', false, true),
- ('profile', 'basic profile information', 'list-alt', false, true),
- ('email', 'email address', 'envelope', false, true),
- ('address', 'physical address', 'home', false, true),
- ('phone', 'telephone number', 'bell', false, true),
- ('offline_access', 'offline access', 'time', false, false);
-
---
--- Merge the temporary scopes safely into the database. This is a two-step process to keep scopes from being created on every startup with a persistent store.
---
-
-MERGE INTO system_scope
- USING (SELECT scope, description, icon, restricted, default_scope FROM system_scope_TEMP) AS vals(scope, description, icon, restricted, default_scope)
- ON vals.scope = system_scope.scope
- WHEN NOT MATCHED THEN
- INSERT (scope, description, icon, restricted, default_scope) VALUES(vals.scope, vals.description, vals.icon, vals.restricted, vals.default_scope);
-
-COMMIT;
-
-SET AUTOCOMMIT TRUE;
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/security-schema.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/security-schema.sql
deleted file mode 100644
index bc5d70b880..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/security-schema.sql
+++ /dev/null
@@ -1,14 +0,0 @@
---
--- Tables for Spring Security's user details service
---
-
-create table IF NOT EXISTS users(
- username varchar(50) not null primary key,
- password varchar(50) not null,
- enabled boolean not null);
-
- create table IF NOT EXISTS authorities (
- username varchar(50) not null,
- authority varchar(50) not null,
- constraint fk_authorities_users foreign key(username) references users(username),
- constraint ix_authority unique (username,authority));
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/hsql/users.sql b/openid-connect-server-webapp/src/main/resources/db/hsql/users.sql
deleted file mode 100644
index 6e6958e1f5..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/hsql/users.sql
+++ /dev/null
@@ -1,59 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT FALSE;
-
-START TRANSACTION;
-
---
--- Insert user information into the temporary tables. To add users to the HSQL database, edit things here.
---
-
-INSERT INTO users_TEMP (username, password, enabled) VALUES
- ('admin','password',true),
- ('user','password',true);
-
-
-INSERT INTO authorities_TEMP (username, authority) VALUES
- ('admin','ROLE_ADMIN'),
- ('admin','ROLE_USER'),
- ('user','ROLE_USER');
-
--- By default, the username column here has to match the username column in the users table, above
-INSERT INTO user_info_TEMP (sub, preferred_username, name, email, email_verified) VALUES
- ('90342.ASDFJWFA','admin','Demo Admin','admin@example.com', true),
- ('01921.FLANRJQW','user','Demo User','user@example.com', true);
-
-
---
--- Merge the temporary users safely into the database. This is a two-step process to keep users from being created on every startup with a persistent store.
---
-
-MERGE INTO users
- USING (SELECT username, password, enabled FROM users_TEMP) AS vals(username, password, enabled)
- ON vals.username = users.username
- WHEN NOT MATCHED THEN
- INSERT (username, password, enabled) VALUES(vals.username, vals.password, vals.enabled);
-
-MERGE INTO authorities
- USING (SELECT username, authority FROM authorities_TEMP) AS vals(username, authority)
- ON vals.username = authorities.username AND vals.authority = authorities.authority
- WHEN NOT MATCHED THEN
- INSERT (username,authority) values (vals.username, vals.authority);
-
-MERGE INTO user_info
- USING (SELECT sub, preferred_username, name, email, email_verified FROM user_info_TEMP) AS vals(sub, preferred_username, name, email, email_verified)
- ON vals.preferred_username = user_info.preferred_username
- WHEN NOT MATCHED THEN
- INSERT (sub, preferred_username, name, email, email_verified) VALUES (vals.sub, vals.preferred_username, vals.name, vals.email, vals.email_verified);
-
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
-SET AUTOCOMMIT TRUE;
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/clients.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/clients.sql
deleted file mode 100644
index 7f02557899..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/clients.sql
+++ /dev/null
@@ -1,61 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT = 0;
-
-START TRANSACTION;
-
---
--- Insert client information into the temporary tables. To add clients to the HSQL database, edit things here.
---
-
-INSERT INTO client_details_TEMP (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection) VALUES
- ('client', 'secret', 'Test Client', false, null, 3600, 600, true);
-
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES
- ('client', 'openid'),
- ('client', 'profile'),
- ('client', 'email'),
- ('client', 'address'),
- ('client', 'phone'),
- ('client', 'offline_access');
-
-INSERT INTO client_redirect_uri_TEMP (owner_id, redirect_uri) VALUES
- ('client', 'http://localhost/'),
- ('client', 'http://localhost:8080/');
-
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES
- ('client', 'authorization_code'),
- ('client', 'urn:ietf:params:oauth:grant_type:redelegate'),
- ('client', 'implicit'),
- ('client', 'refresh_token');
-
---
--- Merge the temporary clients safely into the database. This is a two-step process to keep clients from being created on every startup with a persistent store.
---
-
-INSERT INTO client_details (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection)
- SELECT client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection FROM client_details_TEMP
- ON DUPLICATE KEY UPDATE client_details.client_id = client_details.client_id;
-
-INSERT INTO client_scope (owner_id, scope)
- SELECT id, scope FROM client_scope_TEMP, client_details WHERE client_details.client_id = client_scope_TEMP.owner_id
- ON DUPLICATE KEY UPDATE client_scope.owner_id = client_scope.owner_id;
-
-INSERT INTO client_redirect_uri (owner_id, redirect_uri)
- SELECT id, redirect_uri FROM client_redirect_uri_TEMP, client_details WHERE client_details.client_id = client_redirect_uri_TEMP.owner_id
- ON DUPLICATE KEY UPDATE client_redirect_uri.owner_id = client_redirect_uri.owner_id;
-
-INSERT INTO client_grant_type (owner_id, grant_type)
- SELECT id, grant_type FROM client_grant_type_TEMP, client_details WHERE client_details.client_id = client_grant_type_TEMP.owner_id
- ON DUPLICATE KEY UPDATE client_grant_type.owner_id = client_grant_type.owner_id;
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
-SET AUTOCOMMIT = 1;
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_index.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_index.sql
deleted file mode 100644
index f5daf991da..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_index.sql
+++ /dev/null
@@ -1,19 +0,0 @@
---
--- Indexes for MySQL
---
-
-CREATE INDEX at_tv_idx ON access_token(token_value(767));
-CREATE INDEX ts_oi_idx ON token_scope(owner_id);
-CREATE INDEX at_exp_idx ON access_token(expiration);
-CREATE INDEX rf_ahi_idx ON refresh_token(auth_holder_id);
-CREATE INDEX rf_tv_idx ON refresh_token(token_value(105));
-CREATE INDEX cd_ci_idx ON client_details(client_id);
-CREATE INDEX at_ahi_idx ON access_token(auth_holder_id);
-CREATE INDEX aha_oi_idx ON authentication_holder_authority(owner_id);
-CREATE INDEX ahe_oi_idx ON authentication_holder_extension(owner_id);
-CREATE INDEX ahrp_oi_idx ON authentication_holder_request_parameter(owner_id);
-CREATE INDEX ahri_oi_idx ON authentication_holder_resource_id(owner_id);
-CREATE INDEX ahrt_oi_idx ON authentication_holder_response_type(owner_id);
-CREATE INDEX ahs_oi_idx ON authentication_holder_scope(owner_id);
-CREATE INDEX ac_ahi_idx ON authorization_code(auth_holder_id);
-CREATE INDEX suaa_oi_idx ON saved_user_auth_authority(owner_id);
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_tables.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_tables.sql
deleted file mode 100644
index 7e00cc8762..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/mysql_database_tables.sql
+++ /dev/null
@@ -1,383 +0,0 @@
---
--- Tables for OIDC Server functionality, MySQL
---
-
-CREATE TABLE IF NOT EXISTS access_token (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP NULL,
- token_type VARCHAR(256),
- refresh_token_id BIGINT,
- client_id BIGINT,
- auth_holder_id BIGINT,
- approved_site_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS access_token_permissions (
- access_token_id BIGINT NOT NULL,
- permission_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS address (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- formatted VARCHAR(256),
- street_address VARCHAR(256),
- locality VARCHAR(256),
- region VARCHAR(256),
- postal_code VARCHAR(256),
- country VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS approved_site (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- user_id VARCHAR(256),
- client_id VARCHAR(256),
- creation_date TIMESTAMP NULL,
- access_date TIMESTAMP NULL,
- timeout_date TIMESTAMP NULL,
- whitelisted_site_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS approved_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- user_auth_id BIGINT,
- approved BOOLEAN,
- redirect_uri VARCHAR(2048),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_resource_id (
- owner_id BIGINT,
- resource_id VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_extension (
- owner_id BIGINT,
- extension VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(1024),
- authenticated BOOLEAN,
- source_class VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authorization_code (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- code VARCHAR(256),
- auth_holder_id BIGINT,
- expiration TIMESTAMP NULL
-);
-
-CREATE TABLE IF NOT EXISTS client_grant_type (
- owner_id BIGINT,
- grant_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS blacklisted_site (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_details (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
-
- client_description VARCHAR(1024),
- reuse_refresh_tokens BOOLEAN DEFAULT true NOT NULL,
- dynamically_registered BOOLEAN DEFAULT false NOT NULL,
- allow_introspection BOOLEAN DEFAULT false NOT NULL,
- id_token_validity_seconds BIGINT DEFAULT 600 NOT NULL,
- device_code_validity_seconds BIGINT,
-
- client_id VARCHAR(256),
- client_secret VARCHAR(2048),
- access_token_validity_seconds BIGINT,
- refresh_token_validity_seconds BIGINT,
-
- application_type VARCHAR(256),
- client_name VARCHAR(256),
- token_endpoint_auth_method VARCHAR(256),
- subject_type VARCHAR(256),
-
- logo_uri VARCHAR(2048),
- policy_uri VARCHAR(2048),
- client_uri VARCHAR(2048),
- tos_uri VARCHAR(2048),
-
- jwks_uri VARCHAR(2048),
- jwks VARCHAR(8192),
- sector_identifier_uri VARCHAR(2048),
-
- request_object_signing_alg VARCHAR(256),
-
- user_info_signed_response_alg VARCHAR(256),
- user_info_encrypted_response_alg VARCHAR(256),
- user_info_encrypted_response_enc VARCHAR(256),
-
- id_token_signed_response_alg VARCHAR(256),
- id_token_encrypted_response_alg VARCHAR(256),
- id_token_encrypted_response_enc VARCHAR(256),
-
- token_endpoint_auth_signing_alg VARCHAR(256),
-
- default_max_age BIGINT,
- require_auth_time BOOLEAN,
- created_at TIMESTAMP NULL,
- initiate_login_uri VARCHAR(2048),
- clear_access_tokens_on_refresh BOOLEAN DEFAULT true NOT NULL,
-
- software_statement VARCHAR(4096),
- software_id VARCHAR(2048),
- software_version VARCHAR(2048),
-
- code_challenge_method VARCHAR(256),
-
- UNIQUE (client_id)
-);
-
-CREATE TABLE IF NOT EXISTS client_request_uri (
- owner_id BIGINT,
- request_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_post_logout_redirect_uri (
- owner_id BIGINT,
- post_logout_redirect_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_default_acr_value (
- owner_id BIGINT,
- default_acr_value VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_contact (
- owner_id BIGINT,
- contact VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_claims_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS refresh_token (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP NULL,
- auth_holder_id BIGINT,
- client_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS client_resource (
- owner_id BIGINT,
- resource_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS token_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS system_scope (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- scope VARCHAR(256) NOT NULL,
- description VARCHAR(4096),
- icon VARCHAR(256),
- restricted BOOLEAN DEFAULT false NOT NULL,
- default_scope BOOLEAN DEFAULT false NOT NULL,
- UNIQUE (scope)
-);
-
-CREATE TABLE IF NOT EXISTS user_info (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- sub VARCHAR(256),
- preferred_username VARCHAR(256),
- name VARCHAR(256),
- given_name VARCHAR(256),
- family_name VARCHAR(256),
- middle_name VARCHAR(256),
- nickname VARCHAR(256),
- profile VARCHAR(256),
- picture VARCHAR(256),
- website VARCHAR(256),
- email VARCHAR(256),
- email_verified BOOLEAN,
- gender VARCHAR(256),
- zone_info VARCHAR(256),
- locale VARCHAR(256),
- phone_number VARCHAR(256),
- phone_number_verified BOOLEAN,
- address_id VARCHAR(256),
- updated_time VARCHAR(256),
- birthdate VARCHAR(256),
- src VARCHAR(4096)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- creator_user_id VARCHAR(256),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS pairwise_identifier (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- identifier VARCHAR(256),
- sub VARCHAR(256),
- sector_identifier VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(1024) NOT NULL,
- uri VARCHAR(1024),
- icon_uri VARCHAR(1024),
- rs_type VARCHAR(256),
- owner VARCHAR(256) NOT NULL,
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS permission_ticket (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- ticket VARCHAR(256) NOT NULL,
- permission_id BIGINT NOT NULL,
- expiration TIMESTAMP NULL
-);
-
-CREATE TABLE IF NOT EXISTS permission (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS permission_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(256),
- friendly_name VARCHAR(1024),
- claim_type VARCHAR(1024),
- claim_value VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_policy (
- policy_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_permission_ticket (
- permission_ticket_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS policy (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(1024),
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS policy_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_token_format (
- owner_id BIGINT NOT NULL,
- claim_token_format VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_issuer (
- owner_id BIGINT NOT NULL,
- issuer VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS saved_registered_client (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- issuer VARCHAR(1024),
- registered_client VARCHAR(8192)
-);
-
-CREATE TABLE IF NOT EXISTS device_code (
- id BIGINT AUTO_INCREMENT PRIMARY KEY,
- device_code VARCHAR(1024),
- user_code VARCHAR(1024),
- expiration TIMESTAMP NULL,
- client_id VARCHAR(256),
- approved BOOLEAN,
- auth_holder_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS device_code_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS device_code_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/scopes.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/scopes.sql
deleted file mode 100644
index 3768977ec1..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/scopes.sql
+++ /dev/null
@@ -1,31 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT = 0;
-
-START TRANSACTION;
-
---
--- Insert scope information into the temporary tables.
---
-
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('openid', 'log in using your identity', 'user', false, true),
- ('profile', 'basic profile information', 'list-alt', false, true),
- ('email', 'email address', 'envelope', false, true),
- ('address', 'physical address', 'home', false, true),
- ('phone', 'telephone number', 'bell', false, true),
- ('offline_access', 'offline access', 'time', false, false);
-
---
--- Merge the temporary scopes safely into the database. This is a two-step process to keep scopes from being created on every startup with a persistent store.
---
-
-INSERT INTO system_scope (scope, description, icon, restricted, default_scope, structured, structured_param_description)
- SELECT scope, description, icon, restricted, default_scope, structured, structured_param_description FROM system_scope_TEMP
- ON DUPLICATE KEY UPDATE system_scope.scope = system_scope.scope;
-
-COMMIT;
-
-SET AUTOCOMMIT = 1;
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/security-schema.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/security-schema.sql
deleted file mode 100644
index bc5d70b880..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/security-schema.sql
+++ /dev/null
@@ -1,14 +0,0 @@
---
--- Tables for Spring Security's user details service
---
-
-create table IF NOT EXISTS users(
- username varchar(50) not null primary key,
- password varchar(50) not null,
- enabled boolean not null);
-
- create table IF NOT EXISTS authorities (
- username varchar(50) not null,
- authority varchar(50) not null,
- constraint fk_authorities_users foreign key(username) references users(username),
- constraint ix_authority unique (username,authority));
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/mysql/users.sql b/openid-connect-server-webapp/src/main/resources/db/mysql/users.sql
deleted file mode 100644
index fc82e48006..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/mysql/users.sql
+++ /dev/null
@@ -1,52 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
-SET AUTOCOMMIT = 0;
-
-START TRANSACTION;
-
---
--- Insert user information into the temporary tables. To add users to the HSQL database, edit things here.
---
-
-INSERT INTO users_TEMP (username, password, enabled) VALUES
- ('admin','password',true),
- ('user','password',true);
-
-
-INSERT INTO authorities_TEMP (username, authority) VALUES
- ('admin','ROLE_ADMIN'),
- ('admin','ROLE_USER'),
- ('user','ROLE_USER');
-
--- By default, the username column here has to match the username column in the users table, above
-INSERT INTO user_info_TEMP (sub, preferred_username, name, email, email_verified) VALUES
- ('90342.ASDFJWFA','admin','Demo Admin','admin@example.com', true),
- ('01921.FLANRJQW','user','Demo User','user@example.com', true);
-
-
---
--- Merge the temporary users safely into the database. This is a two-step process to keep users from being created on every startup with a persistent store.
---
-
-INSERT INTO users (username, password, enabled)
- SELECT username, password, enabled FROM users_TEMP
- ON DUPLICATE KEY UPDATE users.username = users.username;
-
-INSERT INTO authorities (username,authority)
- SELECT username, authority FROM authorities_TEMP
- ON DUPLICATE KEY UPDATE authorities.username = authorities.username;
-
-INSERT INTO user_info (sub, preferred_username, name, email, email_verified)
- SELECT sub, preferred_username, name, email, email_verified FROM user_info_TEMP
- ON DUPLICATE KEY UPDATE user_info.preferred_username = user_info.preferred_username;
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
-SET AUTOCOMMIT = 1;
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/clients_oracle.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/clients_oracle.sql
deleted file mode 100644
index 488d928457..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/clients_oracle.sql
+++ /dev/null
@@ -1,51 +0,0 @@
---
--- Insert client information into the temporary tables. To add clients to the Oracle database, edit things here.
---
-
-INSERT INTO client_details_TEMP (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection) VALUES
- ('client', 'secret', 'Test Client', 0, null, 3600, 600, 1);
-
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'openid');
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'profile');
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'email');
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'address');
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'phone');
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES ('client', 'offline_access');
-
-INSERT INTO client_redirect_uri_TEMP (owner_id, redirect_uri) VALUES ('client', 'http://localhost/');
-INSERT INTO client_redirect_uri_TEMP (owner_id, redirect_uri) VALUES ('client', 'http://localhost:8080/');
-
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES ('client', 'authorization_code');
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES ('client', 'urn:ietf:params:oauth:grant_type:redelegate');
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES ('client', 'implicit');
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES ('client', 'refresh_token');
-
---
--- Merge the temporary clients safely into the database. This is a two-step process to keep clients from being created on every startup with a persistent store.
---
-
-MERGE INTO client_details
- USING (SELECT client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection FROM client_details_TEMP) vals
- ON (vals.client_id = client_details.client_id)
- WHEN NOT MATCHED THEN
- INSERT (id, client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds,
- id_token_validity_seconds, allow_introspection) VALUES(client_details_seq.nextval, vals.client_id, vals.client_secret, vals.client_name, vals.dynamically_registered,
- vals.refresh_token_validity_seconds, vals.access_token_validity_seconds, vals.id_token_validity_seconds, vals.allow_introspection);
-
-MERGE INTO client_scope
- USING (SELECT id, scope FROM client_scope_TEMP, client_details WHERE client_details.client_id = client_scope_TEMP.owner_id) vals
- ON (vals.id = client_scope.owner_id AND vals.scope = client_scope.scope)
- WHEN NOT MATCHED THEN
- INSERT (owner_id, scope) values (vals.id, vals.scope);
-
-MERGE INTO client_redirect_uri
- USING (SELECT id, redirect_uri FROM client_redirect_uri_TEMP, client_details WHERE client_details.client_id = client_redirect_uri_TEMP.owner_id) vals
- ON (vals.id = client_redirect_uri.owner_id AND vals.redirect_uri = client_redirect_uri.redirect_uri)
- WHEN NOT MATCHED THEN
- INSERT (owner_id, redirect_uri) values (vals.id, vals.redirect_uri);
-
-MERGE INTO client_grant_type
- USING (SELECT id, grant_type FROM client_grant_type_TEMP, client_details WHERE client_details.client_id = client_grant_type_TEMP.owner_id) vals
- ON (vals.id = client_grant_type.owner_id AND vals.grant_type = client_grant_type.grant_type)
- WHEN NOT MATCHED THEN
- INSERT (owner_id, grant_type) values (vals.id, vals.grant_type);
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/create_db-user b/openid-connect-server-webapp/src/main/resources/db/oracle/create_db-user
deleted file mode 100644
index fdbf9d44fb..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/create_db-user
+++ /dev/null
@@ -1,15 +0,0 @@
-drop user oauth cascade;
-drop tablespace data_ts INCLUDING CONTENTS AND DATAFILES;
-drop tablespace temp_ts INCLUDING CONTENTS AND DATAFILES;
-CREATE TABLESPACE data_ts DATAFILE 'data_ts.dat' SIZE 40M ONLINE;
-CREATE TEMPORARY TABLESPACE temp_ts TEMPFILE 'temp_ts.dbf' SIZE 5M AUTOEXTEND ON;
-create user oauth identified by test DEFAULT TABLESPACE data_ts QUOTA 500K ON data_ts TEMPORARY TABLESPACE temp_ts;
-GRANT CONNECT TO oauth;
-GRANT UNLIMITED TABLESPACE TO oauth;
-grant create session to oauth;
-grant create table to oauth;
-GRANT CREATE TABLESPACE TO oauth;
-GRANT CREATE VIEW TO oauth;
-GRANT CREATE ANY INDEX TO oauth;
-GRANT CREATE SEQUENCE TO oauth;
-GRANT CREATE SYNONYM TO oauth;
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/entity-mappings_oracle.xml b/openid-connect-server-webapp/src/main/resources/db/oracle/entity-mappings_oracle.xml
deleted file mode 100644
index 2aba62824f..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/entity-mappings_oracle.xml
+++ /dev/null
@@ -1,281 +0,0 @@
-
-
-
- OpenID Connect Server entities
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/loading_temp_tables_oracle.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/loading_temp_tables_oracle.sql
deleted file mode 100644
index c9a1e7f3d6..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/loading_temp_tables_oracle.sql
+++ /dev/null
@@ -1,77 +0,0 @@
---
--- Temporary tables used during the bootstrapping process to safely load users and clients.
--- These are not needed if you're not using the users.sql/clients.sql files to bootstrap the database.
---
-
-CREATE GLOBAL TEMPORARY TABLE authorities_TEMP (
- username varchar2(50) not null,
- authority varchar2(50) not null,
- constraint ix_authority_TEMP unique (username,authority)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE users_TEMP (
- username VARCHAR2(50) not null primary key,
- password VARCHAR2(50) not null,
- enabled NUMBER(1) not null
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE user_info_TEMP (
- sub VARCHAR2(256) not null primary key,
- preferred_username VARCHAR2(256),
- name VARCHAR2(256),
- given_name VARCHAR2(256),
- family_name VARCHAR2(256),
- middle_name VARCHAR2(256),
- nickname VARCHAR2(256),
- profile VARCHAR2(256),
- picture VARCHAR2(256),
- website VARCHAR2(256),
- email VARCHAR2(256),
- email_verified NUMBER(1),
- gender VARCHAR2(256),
- zone_info VARCHAR2(256),
- locale VARCHAR2(256),
- phone_number VARCHAR2(256),
- address_id VARCHAR2(256),
- updated_time VARCHAR2(256),
- birthdate VARCHAR2(256)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE client_details_TEMP (
- client_description VARCHAR2(256),
- dynamically_registered NUMBER(1),
- id_token_validity_seconds NUMBER(19),
-
- client_id VARCHAR2(256),
- client_secret VARCHAR2(2048),
- access_token_validity_seconds NUMBER(19),
- refresh_token_validity_seconds NUMBER(19),
- allow_introspection NUMBER(1),
-
- client_name VARCHAR2(256)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE client_scope_TEMP (
- owner_id VARCHAR2(256),
- scope VARCHAR2(2048)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE client_redirect_uri_TEMP (
- owner_id VARCHAR2(256),
- redirect_uri VARCHAR2(2048)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE client_grant_type_TEMP (
- owner_id VARCHAR2(256),
- grant_type VARCHAR2(2000)
-) ON COMMIT PRESERVE ROWS;
-
-CREATE GLOBAL TEMPORARY TABLE system_scope_TEMP (
- scope VARCHAR2(256),
- description VARCHAR2(4000),
- icon VARCHAR2(256),
- restricted NUMBER(1),
- default_scope NUMBER(1),
- structured NUMBER(1),
- structured_param_description VARCHAR2(256)
-) ON COMMIT PRESERVE ROWS;
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_index.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_index.sql
deleted file mode 100644
index fc70a7ae41..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_index.sql
+++ /dev/null
@@ -1,18 +0,0 @@
---
--- Indexes for Oracle
---
-
-CREATE INDEX at_tv_idx ON access_token(token_value);
-CREATE INDEX ts_oi_idx ON token_scope(owner_id);
-CREATE INDEX at_exp_idx ON access_token(expiration);
-CREATE INDEX rf_ahi_idx ON refresh_token(auth_holder_id);
-CREATE INDEX rf_tv_idx ON refresh_token(token_value);
-CREATE INDEX at_ahi_idx ON access_token(auth_holder_id);
-CREATE INDEX aha_oi_idx ON authentication_holder_authority(owner_id);
-CREATE INDEX ahe_oi_idx ON authentication_holder_extension(owner_id);
-CREATE INDEX ahrp_oi_idx ON authentication_holder_request_parameter(owner_id);
-CREATE INDEX ahri_oi_idx ON authentication_holder_resource_id(owner_id);
-CREATE INDEX ahrt_oi_idx ON authentication_holder_response_type(owner_id);
-CREATE INDEX ahs_oi_idx ON authentication_holder_scope(owner_id);
-CREATE INDEX ac_ahi_idx ON authorization_code(auth_holder_id);
-CREATE INDEX suaa_oi_idx ON saved_user_auth_authority(owner_id);
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_tables.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_tables.sql
deleted file mode 100644
index 9f430adace..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/oracle_database_tables.sql
+++ /dev/null
@@ -1,417 +0,0 @@
---
--- Tables for OIDC Server functionality, Oracle
---
-
-CREATE TABLE access_token (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- token_value VARCHAR2(4000),
- expiration TIMESTAMP,
- token_type VARCHAR2(256),
- refresh_token_id NUMBER(19),
- client_id NUMBER(19),
- auth_holder_id NUMBER(19),
- approved_site_id NUMBER(19)
-);
-CREATE SEQUENCE access_token_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE access_token_permissions (
- access_token_id NUMBER(19) NOT NULL,
- permission_id NUMBER(19) NOT NULL
-);
-
-CREATE TABLE address (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- formatted VARCHAR2(256),
- street_address VARCHAR2(256),
- locality VARCHAR2(256),
- region VARCHAR2(256),
- postal_code VARCHAR2(256),
- country VARCHAR2(256)
-);
-CREATE SEQUENCE address_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE approved_site (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- user_id VARCHAR2(256),
- client_id VARCHAR2(256),
- creation_date TIMESTAMP,
- access_date TIMESTAMP,
- timeout_date TIMESTAMP,
- whitelisted_site_id NUMBER(19)
-);
-CREATE SEQUENCE approved_site_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE approved_site_scope (
- owner_id NUMBER(19),
- scope VARCHAR2(256)
-);
-
-CREATE TABLE authentication_holder (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- user_auth_id NUMBER(19),
- approved NUMBER(1),
- redirect_uri VARCHAR2(2048),
- client_id VARCHAR2(256),
-
- CONSTRAINT approved_check CHECK (approved in (1,0))
-);
-CREATE SEQUENCE authentication_holder_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE auth_holder_authority (
- owner_id NUMBER(19),
- authority VARCHAR2(256)
-);
-
-CREATE TABLE auth_holder_resource_id (
- owner_id NUMBER(19),
- resource_id VARCHAR2(2048)
-);
-
-CREATE TABLE auth_holder_response_type (
- owner_id NUMBER(19),
- response_type VARCHAR2(2048)
-);
-
-CREATE TABLE auth_holder_extension (
- owner_id NUMBER(19),
- extension VARCHAR2(2048),
- val VARCHAR2(2048)
-);
-
-CREATE TABLE authentication_holder_scope (
- owner_id NUMBER(19),
- scope VARCHAR2(2048)
-);
-
-CREATE TABLE auth_holder_request_parameter (
- owner_id NUMBER(19),
- param VARCHAR2(2048),
- val VARCHAR2(2048)
-);
-
-CREATE TABLE saved_user_auth (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- name VARCHAR2(1024),
- authenticated NUMBER(1),
- source_class VARCHAR2(2048),
-
- CONSTRAINT authenticated_check CHECK (authenticated in (1,0))
-);
-CREATE SEQUENCE saved_user_auth_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE saved_user_auth_authority (
- owner_id NUMBER(19),
- authority VARCHAR2(256)
-);
-
-CREATE TABLE client_authority (
- owner_id NUMBER(19),
- authority VARCHAR2(256)
-);
-
-CREATE TABLE authorization_code (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- code VARCHAR2(256),
- auth_holder_id NUMBER(19),
- expiration TIMESTAMP
-);
-CREATE SEQUENCE authorization_code_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE client_grant_type (
- owner_id NUMBER(19),
- grant_type VARCHAR2(2000)
-);
-
-CREATE TABLE client_response_type (
- owner_id NUMBER(19),
- response_type VARCHAR2(2000)
-);
-
-CREATE TABLE blacklisted_site (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- uri VARCHAR2(2048)
-);
-CREATE SEQUENCE blacklisted_site_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE client_details (
- id NUMBER(19) NOT NULL PRIMARY KEY,
-
- client_description VARCHAR2(1024),
- reuse_refresh_tokens NUMBER(1) DEFAULT 1 NOT NULL,
- dynamically_registered NUMBER(1) DEFAULT 0 NOT NULL,
- allow_introspection NUMBER(1) DEFAULT 0 NOT NULL,
- id_token_validity_seconds NUMBER(19) DEFAULT 600 NOT NULL,
-
- client_id VARCHAR2(256),
- client_secret VARCHAR2(2048),
- access_token_validity_seconds NUMBER(19),
- refresh_token_validity_seconds NUMBER(19),
- device_code_validity_seconds NUMBER(19),
-
- application_type VARCHAR2(256),
- client_name VARCHAR2(256),
- token_endpoint_auth_method VARCHAR2(256),
- subject_type VARCHAR2(256),
-
- logo_uri VARCHAR2(2048),
- policy_uri VARCHAR2(2048),
- client_uri VARCHAR2(2048),
- tos_uri VARCHAR2(2048),
-
- jwks_uri VARCHAR2(2048),
- jwks CLOB,
- sector_identifier_uri VARCHAR2(2048),
-
- request_object_signing_alg VARCHAR2(256),
-
- user_info_signed_response_alg VARCHAR2(256),
- user_info_encrypted_resp_alg VARCHAR2(256),
- user_info_encrypted_resp_enc VARCHAR2(256),
-
- id_token_signed_response_alg VARCHAR2(256),
- id_token_encrypted_resp_alg VARCHAR2(256),
- id_token_encrypted_resp_enc VARCHAR2(256),
-
- token_endpoint_auth_sign_alg VARCHAR2(256),
-
- default_max_age NUMBER(19),
- require_auth_time NUMBER(1),
- created_at TIMESTAMP,
- initiate_login_uri VARCHAR2(2048),
- clear_access_tokens_on_refresh NUMBER(1) DEFAULT 1 NOT NULL,
-
- software_statement VARCHAR(4096),
- software_id VARCHAR(2048),
- software_statement VARCHAR2(4000),
-
- code_challenge_method VARCHAR2(256),
-
- CONSTRAINT client_details_unique UNIQUE (client_id),
- CONSTRAINT reuse_refresh_tokens_check CHECK (reuse_refresh_tokens in (1,0)),
- CONSTRAINT dynamically_registered_check CHECK (dynamically_registered in (1,0)),
- CONSTRAINT allow_introspection_check CHECK (allow_introspection in (1,0)),
- CONSTRAINT require_auth_time_check CHECK (require_auth_time in (1,0)),
- CONSTRAINT clear_acc_tok_on_refresh_check CHECK (clear_access_tokens_on_refresh in (1,0))
-);
-CREATE SEQUENCE client_details_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE client_request_uri (
- owner_id NUMBER(19),
- request_uri VARCHAR2(2000)
-);
-
-CREATE TABLE client_post_logout_redir_uri (
- owner_id NUMBER(19),
- post_logout_redirect_uri VARCHAR2(2000)
-);
-
-CREATE TABLE client_default_acr_value (
- owner_id NUMBER(19),
- default_acr_value VARCHAR2(2000)
-);
-
-CREATE TABLE client_contact (
- owner_id NUMBER(19),
- contact VARCHAR2(256)
-);
-
-CREATE TABLE client_redirect_uri (
- owner_id NUMBER(19),
- redirect_uri VARCHAR2(2048)
-);
-
-CREATE TABLE client_claims_redirect_uri (
- owner_id NUMBER(19),
- redirect_uri VARCHAR2(2048)
-);
-
-CREATE TABLE refresh_token (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- token_value VARCHAR2(4000),
- expiration TIMESTAMP,
- auth_holder_id NUMBER(19),
- client_id NUMBER(19)
-);
-CREATE SEQUENCE refresh_token_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE client_resource (
- owner_id NUMBER(19),
- resource_id VARCHAR2(256)
-);
-
-CREATE TABLE client_scope (
- owner_id NUMBER(19),
- scope VARCHAR2(2048)
-);
-
-CREATE TABLE token_scope (
- owner_id NUMBER(19),
- scope VARCHAR2(2048)
-);
-
-CREATE TABLE system_scope (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- scope VARCHAR2(256) NOT NULL,
- description VARCHAR2(4000),
- icon VARCHAR2(256),
- restricted NUMBER(1) DEFAULT 0 NOT NULL,
- default_scope NUMBER(1) DEFAULT 0 NOT NULL
-
- CONSTRAINT system_scope_unique UNIQUE (scope),
- CONSTRAINT default_scope_check CHECK (default_scope in (1,0)),
- CONSTRAINT restricted_check CHECK (restricted in (1,0))
-);
-CREATE SEQUENCE system_scope_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE user_info (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- sub VARCHAR2(256),
- preferred_username VARCHAR2(256),
- name VARCHAR2(256),
- given_name VARCHAR2(256),
- family_name VARCHAR2(256),
- middle_name VARCHAR2(256),
- nickname VARCHAR2(256),
- profile VARCHAR2(256),
- picture VARCHAR2(256),
- website VARCHAR2(256),
- email VARCHAR2(256),
- email_verified NUMBER(1),
- gender VARCHAR2(256),
- zone_info VARCHAR2(256),
- locale VARCHAR2(256),
- phone_number VARCHAR2(256),
- phone_number_verified NUMBER(1),
- address_id VARCHAR2(256),
- updated_time VARCHAR2(256),
- birthdate VARCHAR2(256),
- src VARCHAR2(4000),
-
- CONSTRAINT email_verified_check CHECK (email_verified in (1,0)),
- CONSTRAINT phone_number_verified_check CHECK (phone_number_verified in (1,0))
-);
-CREATE SEQUENCE user_info_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE whitelisted_site (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- creator_user_id VARCHAR2(256),
- client_id VARCHAR2(256)
-);
-CREATE SEQUENCE whitelisted_site_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE whitelisted_site_scope (
- owner_id NUMBER(19),
- scope VARCHAR2(256)
-);
-
-CREATE TABLE pairwise_identifier (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- identifier VARCHAR2(256),
- sub VARCHAR2(256),
- sector_identifier VARCHAR2(2048)
-);
-CREATE SEQUENCE pairwise_identifier_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE resource_set (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- name VARCHAR2(1024) NOT NULL,
- uri VARCHAR2(1024),
- icon_uri VARCHAR2(1024),
- rs_type VARCHAR2(256),
- owner VARCHAR2(256) NOT NULL,
- client_id VARCHAR2(256)
-);
-CREATE SEQUENCE resource_set_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE resource_set_scope (
- owner_id NUMBER(19) NOT NULL,
- scope VARCHAR2(256) NOT NULL
-);
-
-CREATE TABLE permission_ticket (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- ticket VARCHAR2(256) NOT NULL,
- permission_id NUMBER(19) NOT NULL,
- expiration TIMESTAMP
-);
-CREATE SEQUENCE permission_ticket_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE permission (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- resource_set_id NUMBER(19)
-);
-CREATE SEQUENCE permission_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE permission_scope (
- owner_id NUMBER(19) NOT NULL,
- scope VARCHAR2(256) NOT NULL
-);
-
-CREATE TABLE claim (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- name VARCHAR2(256),
- friendly_name VARCHAR2(1024),
- claim_type VARCHAR2(1024),
- claim_value VARCHAR2(1024)
-);
-CREATE SEQUENCE claim_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE claim_to_policy (
- policy_id NUMBER(19) NOT NULL,
- claim_id NUMBER(19) NOT NULL
-);
-
-CREATE TABLE claim_to_permission_ticket (
- permission_ticket_id NUMBER(19) NOT NULL,
- claim_id NUMBER(19) NOT NULL
-);
-
-CREATE TABLE policy (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- name VARCHAR2(1024),
- resource_set_id NUMBER(19)
-);
-CREATE SEQUENCE policy_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE policy_scope (
- owner_id NUMBER(19) NOT NULL,
- scope VARCHAR2(256) NOT NULL
-);
-
-CREATE TABLE claim_token_format (
- owner_id NUMBER(19) NOT NULL,
- claim_token_format VARCHAR2(1024) NOT NULL
-);
-
-CREATE TABLE claim_issuer (
- owner_id NUMBER(19) NOT NULL,
- issuer VARCHAR2(1024) NOT NULL
-);
-
-CREATE TABLE saved_registered_client (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- issuer VARCHAR2(1024),
- registered_client CLOB
-);
-CREATE SEQUENCE saved_registered_client_seq START WITH 1 INCREMENT BY 1 NOCACHE NOCYCLE;
-
-CREATE TABLE IF NOT EXISTS device_code (
- id NUMBER(19) NOT NULL PRIMARY KEY,
- device_code VARCHAR2(1024),
- user_code VARCHAR2(1024),
- expiration TIMESTAMP,
- client_id VARCHAR2(256),
- approved BOOLEAN,
- auth_holder_id NUMBER(19)
-);
-
-CREATE TABLE IF NOT EXISTS device_code_scope (
- owner_id NUMBER(19) NOT NULL,
- scope VARCHAR2(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS device_code_request_parameter (
- owner_id NUMBER(19),
- param VARCHAR2(2048),
- val VARCHAR2(2048)
-);
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/scopes_oracle.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/scopes_oracle.sql
deleted file mode 100644
index bb6bc82a23..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/scopes_oracle.sql
+++ /dev/null
@@ -1,26 +0,0 @@
---
--- Insert scope information into the temporary tables.
---
-
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('openid', 'log in using your identity', 'user', 0, 1);
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('profile', 'basic profile information', 'list-alt', 0, 1);
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('email', 'email address', 'envelope', 0, 1);
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('address', 'physical address', 'home', 0, 1);
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('phone', 'telephone number', 'bell', 0, 1, 0);
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('offline_access', 'offline access', 'time', 0, 0);
---
--- Merge the temporary scopes safely into the database. This is a two-step process to keep scopes from being created on every startup with a persistent store.
---
-
-MERGE INTO system_scope
- USING (SELECT scope, description, icon, restricted, default_scope FROM system_scope_TEMP) vals
- ON (vals.scope = system_scope.scope)
- WHEN NOT MATCHED THEN
- INSERT (id, scope, description, icon, restricted, default_scope) VALUES(system_scope_seq.nextval, vals.scope,
- vals.description, vals.icon, vals.restricted, vals.default_scope);
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/security-schema_oracle.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/security-schema_oracle.sql
deleted file mode 100644
index 5b67ef668f..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/security-schema_oracle.sql
+++ /dev/null
@@ -1,18 +0,0 @@
---
--- Tables for Spring Security's user details service
---
-
-create table users(
- username varchar2(50) not null primary key,
- password varchar2(50) not null,
- enabled number(1) not null,
-
- constraint enabled_check check (enabled in (1, 0))
-);
-
-create table authorities (
- username varchar2(50) not null,
- authority varchar2(50) not null,
- constraint fk_authorities_users foreign key(username) references users(username),
- constraint ix_authority unique (username,authority)
-);
diff --git a/openid-connect-server-webapp/src/main/resources/db/oracle/users_oracle.sql b/openid-connect-server-webapp/src/main/resources/db/oracle/users_oracle.sql
deleted file mode 100644
index 732a13f16e..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/oracle/users_oracle.sql
+++ /dev/null
@@ -1,39 +0,0 @@
---
--- Insert user information into the temporary tables. To add users to the Oracle database, edit things here.
---
-
-INSERT INTO users_TEMP (username, password, enabled) VALUES ('admin','password',1);
-INSERT INTO users_TEMP (username, password, enabled) VALUES ('user','password',1);
-
-
-INSERT INTO authorities_TEMP (username, authority) VALUES ('admin','ROLE_ADMIN');
-INSERT INTO authorities_TEMP (username, authority) VALUES('admin','ROLE_USER');
-INSERT INTO authorities_TEMP (username, authority) VALUES('user','ROLE_USER');
-
--- By default, the username column here has to match the username column in the users table, above
-INSERT INTO user_info_TEMP (sub, preferred_username, name, email, email_verified) VALUES ('90342.ASDFJWFA','admin','Demo Admin','admin@example.com', 1);
-INSERT INTO user_info_TEMP (sub, preferred_username, name, email, email_verified) VALUES ('01921.FLANRJQW','user','Demo User','user@example.com', 1);
-
-
---
--- Merge the temporary users safely into the database. This is a two-step process to keep users from being created on every startup with a persistent store.
---
-
-MERGE INTO users
- USING (SELECT username, password, enabled FROM users_TEMP) vals
- ON (vals.username = users.username)
- WHEN NOT MATCHED THEN
- INSERT (username, password, enabled) VALUES(vals.username, vals.password, vals.enabled);
-
-MERGE INTO authorities
- USING (SELECT username, authority FROM authorities_TEMP) vals
- ON (vals.username = authorities.username AND vals.authority = authorities.authority)
- WHEN NOT MATCHED THEN
- INSERT (username,authority) values (vals.username, vals.authority);
-
-MERGE INTO user_info
- USING (SELECT sub, preferred_username, name, email, email_verified FROM user_info_TEMP) vals
- ON (vals.preferred_username = user_info.preferred_username)
- WHEN NOT MATCHED THEN
- INSERT (id, sub, preferred_username, name, email, email_verified) VALUES (user_info_seq.nextval, vals.sub, vals.preferred_username, vals.name, vals.email,
- vals.email_verified);
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/clients.sql b/openid-connect-server-webapp/src/main/resources/db/psql/clients.sql
deleted file mode 100644
index bf14c2b2b6..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/clients.sql
+++ /dev/null
@@ -1,66 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
---SET AUTOCOMMIT = OFF;
-
-START TRANSACTION;
-
---
--- Insert client information into the temporary tables. To add clients to the HSQL database, edit things here.
---
-
-INSERT INTO client_details_TEMP (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection) VALUES
- ('client', 'secret', 'Test Client', false, null, 3600, 600, true);
-
-INSERT INTO client_scope_TEMP (owner_id, scope) VALUES
- ('client', 'openid'),
- ('client', 'profile'),
- ('client', 'email'),
- ('client', 'address'),
- ('client', 'phone'),
- ('client', 'offline_access');
-
-INSERT INTO client_redirect_uri_TEMP (owner_id, redirect_uri) VALUES
- ('client', 'http://localhost/'),
- ('client', 'http://localhost:8080/');
-
-INSERT INTO client_grant_type_TEMP (owner_id, grant_type) VALUES
- ('client', 'authorization_code'),
- ('client', 'urn:ietf:params:oauth:grant_type:redelegate'),
- ('client', 'implicit'),
- ('client', 'refresh_token');
-
---
--- Merge the temporary clients safely into the database. This is a two-step process to keep clients from being created on every startup with a persistent store.
---
-
-INSERT INTO client_details (client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection)
- SELECT client_id, client_secret, client_name, dynamically_registered, refresh_token_validity_seconds, access_token_validity_seconds, id_token_validity_seconds, allow_introspection FROM client_details_TEMP
- ON CONFLICT
- DO NOTHING;
-
-INSERT INTO client_scope (scope)
- SELECT scope FROM client_scope_TEMP, client_details WHERE client_details.client_id = client_scope_TEMP.owner_id
- ON CONFLICT
- DO NOTHING;
-
-INSERT INTO client_redirect_uri (redirect_uri)
- SELECT redirect_uri FROM client_redirect_uri_TEMP, client_details WHERE client_details.client_id = client_redirect_uri_TEMP.owner_id
- ON CONFLICT
- DO NOTHING;
-
-INSERT INTO client_grant_type (grant_type)
- SELECT grant_type FROM client_grant_type_TEMP, client_details WHERE client_details.client_id = client_grant_type_TEMP.owner_id
- ON CONFLICT
- DO NOTHING;
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
---SET AUTOCOMMIT = ON;
-
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_index.sql b/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_index.sql
deleted file mode 100644
index a641ff8211..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_index.sql
+++ /dev/null
@@ -1,19 +0,0 @@
---
--- Indexes for PostgreSQL
---
-
-CREATE INDEX IF NOT EXISTS at_tv_idx ON access_token(token_value);
-CREATE INDEX IF NOT EXISTS ts_oi_idx ON token_scope(owner_id);
-CREATE INDEX IF NOT EXISTS at_exp_idx ON access_token(expiration);
-CREATE INDEX IF NOT EXISTS rf_ahi_idx ON refresh_token(auth_holder_id);
-CREATE INDEX IF NOT EXISTS rf_tv_idx ON refresh_token(token_value);
-CREATE INDEX IF NOT EXISTS cd_ci_idx ON client_details(client_id);
-CREATE INDEX IF NOT EXISTS at_ahi_idx ON access_token(auth_holder_id);
-CREATE INDEX IF NOT EXISTS aha_oi_idx ON authentication_holder_authority(owner_id);
-CREATE INDEX IF NOT EXISTS ahe_oi_idx ON authentication_holder_extension(owner_id);
-CREATE INDEX IF NOT EXISTS ahrp_oi_idx ON authentication_holder_request_parameter(owner_id);
-CREATE INDEX IF NOT EXISTS ahri_oi_idx ON authentication_holder_resource_id(owner_id);
-CREATE INDEX IF NOT EXISTS ahrt_oi_idx ON authentication_holder_response_type(owner_id);
-CREATE INDEX IF NOT EXISTS ahs_oi_idx ON authentication_holder_scope(owner_id);
-CREATE INDEX IF NOT EXISTS ac_ahi_idx ON authorization_code(auth_holder_id);
-CREATE INDEX IF NOT EXISTS suaa_oi_idx ON saved_user_auth_authority(owner_id);
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_tables.sql b/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_tables.sql
deleted file mode 100644
index be871b7e80..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/psql_database_tables.sql
+++ /dev/null
@@ -1,384 +0,0 @@
---
--- Tables for OIDC Server functionality, PostgreSQL
---
-
-CREATE TABLE IF NOT EXISTS access_token (
- id BIGSERIAL PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP,
- token_type VARCHAR(256),
- refresh_token_id BIGINT,
- client_id BIGINT,
- auth_holder_id BIGINT,
- approved_site_id BIGINT,
- UNIQUE(token_value)
-);
-
-CREATE TABLE IF NOT EXISTS access_token_permissions (
- access_token_id BIGINT NOT NULL,
- permission_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS address (
- id BIGSERIAL PRIMARY KEY,
- formatted VARCHAR(256),
- street_address VARCHAR(256),
- locality VARCHAR(256),
- region VARCHAR(256),
- postal_code VARCHAR(256),
- country VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS approved_site (
- id BIGSERIAL PRIMARY KEY,
- user_id VARCHAR(256),
- client_id VARCHAR(256),
- creation_date TIMESTAMP,
- access_date TIMESTAMP,
- timeout_date TIMESTAMP,
- whitelisted_site_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS approved_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder (
- id BIGSERIAL PRIMARY KEY,
- user_auth_id BIGINT,
- approved BOOLEAN,
- redirect_uri VARCHAR(2048),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_resource_id (
- owner_id BIGINT,
- resource_id VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_extension (
- owner_id BIGINT,
- extension VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS authentication_holder_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth (
- id BIGSERIAL PRIMARY KEY,
- name VARCHAR(1024),
- authenticated BOOLEAN,
- source_class VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS saved_user_auth_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_authority (
- owner_id BIGINT,
- authority VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS authorization_code (
- id BIGSERIAL PRIMARY KEY,
- code VARCHAR(256),
- auth_holder_id BIGINT,
- expiration TIMESTAMP
-);
-
-CREATE TABLE IF NOT EXISTS client_grant_type (
- owner_id BIGINT,
- grant_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_response_type (
- owner_id BIGINT,
- response_type VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS blacklisted_site (
- id BIGSERIAL PRIMARY KEY,
- uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_details (
- id BIGSERIAL PRIMARY KEY,
-
- client_description VARCHAR(1024),
- reuse_refresh_tokens BOOLEAN DEFAULT true NOT NULL,
- dynamically_registered BOOLEAN DEFAULT false NOT NULL,
- allow_introspection BOOLEAN DEFAULT false NOT NULL,
- id_token_validity_seconds BIGINT DEFAULT 600 NOT NULL,
- device_code_validity_seconds BIGINT,
-
- client_id VARCHAR(256),
- client_secret VARCHAR(2048),
- access_token_validity_seconds BIGINT,
- refresh_token_validity_seconds BIGINT,
-
- application_type VARCHAR(256),
- client_name VARCHAR(256),
- token_endpoint_auth_method VARCHAR(256),
- subject_type VARCHAR(256),
-
- logo_uri VARCHAR(2048),
- policy_uri VARCHAR(2048),
- client_uri VARCHAR(2048),
- tos_uri VARCHAR(2048),
-
- jwks_uri VARCHAR(2048),
- jwks VARCHAR(8192),
- sector_identifier_uri VARCHAR(2048),
-
- request_object_signing_alg VARCHAR(256),
-
- user_info_signed_response_alg VARCHAR(256),
- user_info_encrypted_response_alg VARCHAR(256),
- user_info_encrypted_response_enc VARCHAR(256),
-
- id_token_signed_response_alg VARCHAR(256),
- id_token_encrypted_response_alg VARCHAR(256),
- id_token_encrypted_response_enc VARCHAR(256),
-
- token_endpoint_auth_signing_alg VARCHAR(256),
-
- default_max_age BIGINT,
- require_auth_time BOOLEAN,
- created_at TIMESTAMP,
- initiate_login_uri VARCHAR(2048),
- clear_access_tokens_on_refresh BOOLEAN DEFAULT true NOT NULL,
-
- software_statement VARCHAR(4096),
- software_id VARCHAR(2048),
- software_version VARCHAR(2048),
-
- code_challenge_method VARCHAR(256),
-
- UNIQUE (client_id)
-);
-
-CREATE TABLE IF NOT EXISTS client_request_uri (
- owner_id BIGINT,
- request_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_post_logout_redirect_uri (
- owner_id BIGINT,
- post_logout_redirect_uri VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_default_acr_value (
- owner_id BIGINT,
- default_acr_value VARCHAR(2000)
-);
-
-CREATE TABLE IF NOT EXISTS client_contact (
- owner_id BIGINT,
- contact VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS client_claims_redirect_uri (
- owner_id BIGINT,
- redirect_uri VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS refresh_token (
- id BIGSERIAL PRIMARY KEY,
- token_value VARCHAR(4096),
- expiration TIMESTAMP,
- auth_holder_id BIGINT,
- client_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS client_resource (
- owner_id BIGINT,
- resource_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS client_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS token_scope (
- owner_id BIGINT,
- scope VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS system_scope (
- id BIGSERIAL PRIMARY KEY,
- scope VARCHAR(256) NOT NULL,
- description VARCHAR(4096),
- icon VARCHAR(256),
- restricted BOOLEAN DEFAULT false NOT NULL,
- default_scope BOOLEAN DEFAULT false NOT NULL,
- UNIQUE (scope)
-);
-
-CREATE TABLE IF NOT EXISTS user_info (
- id BIGSERIAL PRIMARY KEY,
- sub VARCHAR(256),
- preferred_username VARCHAR(256),
- name VARCHAR(256),
- given_name VARCHAR(256),
- family_name VARCHAR(256),
- middle_name VARCHAR(256),
- nickname VARCHAR(256),
- profile VARCHAR(256),
- picture VARCHAR(256),
- website VARCHAR(256),
- email VARCHAR(256),
- email_verified BOOLEAN,
- gender VARCHAR(256),
- zone_info VARCHAR(256),
- locale VARCHAR(256),
- phone_number VARCHAR(256),
- phone_number_verified BOOLEAN,
- address_id VARCHAR(256),
- updated_time VARCHAR(256),
- birthdate VARCHAR(256),
- src VARCHAR(4096)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site (
- id BIGSERIAL PRIMARY KEY,
- creator_user_id VARCHAR(256),
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS whitelisted_site_scope (
- owner_id BIGINT,
- scope VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS pairwise_identifier (
- id BIGSERIAL PRIMARY KEY,
- identifier VARCHAR(256),
- sub VARCHAR(256),
- sector_identifier VARCHAR(2048)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set (
- id BIGSERIAL PRIMARY KEY,
- name VARCHAR(1024) NOT NULL,
- uri VARCHAR(1024),
- icon_uri VARCHAR(1024),
- rs_type VARCHAR(256),
- owner VARCHAR(256) NOT NULL,
- client_id VARCHAR(256)
-);
-
-CREATE TABLE IF NOT EXISTS resource_set_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS permission_ticket (
- id BIGSERIAL PRIMARY KEY,
- ticket VARCHAR(256) NOT NULL,
- permission_id BIGINT NOT NULL,
- expiration TIMESTAMP
-);
-
-CREATE TABLE IF NOT EXISTS permission (
- id BIGSERIAL PRIMARY KEY,
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS permission_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim (
- id BIGSERIAL PRIMARY KEY,
- name VARCHAR(256),
- friendly_name VARCHAR(1024),
- claim_type VARCHAR(1024),
- claim_value VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_policy (
- policy_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_to_permission_ticket (
- permission_ticket_id BIGINT NOT NULL,
- claim_id BIGINT NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS policy (
- id BIGSERIAL PRIMARY KEY,
- name VARCHAR(1024),
- resource_set_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS policy_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS claim_token_format (
- owner_id BIGINT NOT NULL,
- claim_token_format VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS claim_issuer (
- owner_id BIGINT NOT NULL,
- issuer VARCHAR(1024)
-);
-
-CREATE TABLE IF NOT EXISTS saved_registered_client (
- id BIGSERIAL PRIMARY KEY,
- issuer VARCHAR(1024),
- registered_client VARCHAR(8192)
-);
-
-CREATE TABLE IF NOT EXISTS device_code (
- id BIGSERIAL PRIMARY KEY,
- device_code VARCHAR(1024),
- user_code VARCHAR(1024),
- expiration TIMESTAMP NULL,
- client_id VARCHAR(256),
- approved BOOLEAN,
- auth_holder_id BIGINT
-);
-
-CREATE TABLE IF NOT EXISTS device_code_scope (
- owner_id BIGINT NOT NULL,
- scope VARCHAR(256) NOT NULL
-);
-
-CREATE TABLE IF NOT EXISTS device_code_request_parameter (
- owner_id BIGINT,
- param VARCHAR(2048),
- val VARCHAR(2048)
-);
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/scopes.sql b/openid-connect-server-webapp/src/main/resources/db/psql/scopes.sql
deleted file mode 100644
index 140c727554..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/scopes.sql
+++ /dev/null
@@ -1,33 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
---SET AUTOCOMMIT = OFF;
-
-START TRANSACTION;
-
---
--- Insert scope information into the temporary tables.
---
-
-INSERT INTO system_scope_TEMP (scope, description, icon, restricted, default_scope) VALUES
- ('openid', 'log in using your identity', 'user', false, true),
- ('profile', 'basic profile information', 'list-alt', false, true),
- ('email', 'email address', 'envelope', false, true),
- ('address', 'physical address', 'home', false, true),
- ('phone', 'telephone number', 'bell', false, true),
- ('offline_access', 'offline access', 'time', false, false);
-
---
--- Merge the temporary scopes safely into the database. This is a two-step process to keep scopes from being created on every startup with a persistent store.
---
-
-INSERT INTO system_scope (scope, description, icon, restricted, default_scope)
- SELECT scope, description, icon, restricted, default_scope FROM system_scope_TEMP
- ON CONFLICT(scope)
- DO NOTHING;
-
-COMMIT;
-
---SET AUTOCOMMIT = ON;
-
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/security-schema.sql b/openid-connect-server-webapp/src/main/resources/db/psql/security-schema.sql
deleted file mode 100644
index bc5d70b880..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/security-schema.sql
+++ /dev/null
@@ -1,14 +0,0 @@
---
--- Tables for Spring Security's user details service
---
-
-create table IF NOT EXISTS users(
- username varchar(50) not null primary key,
- password varchar(50) not null,
- enabled boolean not null);
-
- create table IF NOT EXISTS authorities (
- username varchar(50) not null,
- authority varchar(50) not null,
- constraint fk_authorities_users foreign key(username) references users(username),
- constraint ix_authority unique (username,authority));
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/db/psql/users.sql b/openid-connect-server-webapp/src/main/resources/db/psql/users.sql
deleted file mode 100644
index 537330278c..0000000000
--- a/openid-connect-server-webapp/src/main/resources/db/psql/users.sql
+++ /dev/null
@@ -1,55 +0,0 @@
---
--- Turn off autocommit and start a transaction so that we can use the temp tables
---
-
---SET AUTOCOMMIT FALSE;
-
-START TRANSACTION;
-
---
--- Insert user information into the temporary tables. To add users to the HSQL database, edit things here.
---
-
-INSERT INTO users_TEMP (username, password, enabled) VALUES
- ('admin','password',true),
- ('user','password',true);
-
-
-INSERT INTO authorities_TEMP (username, authority) VALUES
- ('admin','ROLE_ADMIN'),
- ('admin','ROLE_USER'),
- ('user','ROLE_USER');
-
--- By default, the username column here has to match the username column in the users table, above
-INSERT INTO user_info_TEMP (sub, preferred_username, name, email, email_verified) VALUES
- ('90342.ASDFJWFA','admin','Demo Admin','admin@example.com', true),
- ('01921.FLANRJQW','user','Demo User','user@example.com', true);
-
-
---
--- Merge the temporary users safely into the database. This is a two-step process to keep users from being created on every startup with a persistent store.
---
-
-INSERT INTO users
- SELECT username, password, enabled FROM users_TEMP
- ON CONFLICT(username)
- DO NOTHING;
-
-INSERT INTO authorities
- SELECT username, authority FROM authorities_TEMP
- ON CONFLICT(username, authority)
- DO NOTHING;
-
-INSERT INTO user_info (sub, preferred_username, name, email, email_verified)
- SELECT sub, preferred_username, name, email, email_verified FROM user_info_TEMP
- ON CONFLICT
- DO NOTHING;
-
---
--- Close the transaction and turn autocommit back on
---
-
-COMMIT;
-
---SET AUTOCOMMIT TRUE;
-
diff --git a/openid-connect-server-webapp/src/main/resources/keystore.jwks b/openid-connect-server-webapp/src/main/resources/keystore.jwks
deleted file mode 100644
index 461413ffe3..0000000000
--- a/openid-connect-server-webapp/src/main/resources/keystore.jwks
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "keys": [
- {
- "alg": "RS256",
- "d": "PvBAngE3kkTnD3yDKo3wCvHJHm20kb9a0FVGLd0s2Y0E_3H2XnZC8-2zPhN6AQTjPhohSDCew20gzm76lyOvMqRiUP2Zpaopa1d2fGvNIQSdM07yKa6EivEYxqPQxa5esoZnexgnb9fom70I8n5OQRNQikwu-az26CsHX2zWMRodzSdN5CXHvb1PV09DmH8azTYwoMElPIqmcTfxiRw2Ov5ucmXXngKRFJgvfUgKd7v4ScBX7sQoQEjWEtt7ta0WvL3Ar5E1RAW4aHxuubZ6AtloxWCf17AAKw03dfP5RDm5TDmgm2B635ecJ7fTvneFmg8W_fdMTPRfBlCGNBp3wQ",
- "e": "AQAB",
- "n": "qt6yOiI_wCoCVlGO0MySsez0VkSqhPvDl3rfabOslx35mYEO-n4ABfIT5Gn2zN-CeIcOZ5ugAXvIIRWv5H55-tzjFazi5IKkOIMCiz5__MtsdxKCqGlZu2zt-BLpqTOAPiflNPpM3RUAlxKAhnYEqNha6-allPnFQupnW_eTYoyuzuedT7dSp90ry0ZcQDimntXWeaSbrYKCj9Rr9W1jn2uTowUuXaScKXTCjAmJVnsD75JNzQfa8DweklTyWQF-Y5Ky039I0VIu-0CIGhXY48GAFe2EFb8VpNhf07DP63p138RWQ1d3KPEM9mYJVpQC68j3wzDQYSljpLf9by7TGw",
- "kty": "RSA",
- "kid": "rsa1"
- }
- ]
-}
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/resources/log4j.xml b/openid-connect-server-webapp/src/main/resources/log4j.xml
deleted file mode 100644
index caed28b323..0000000000
--- a/openid-connect-server-webapp/src/main/resources/log4j.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/META-INF/MANIFEST.MF b/openid-connect-server-webapp/src/main/webapp/META-INF/MANIFEST.MF
deleted file mode 100644
index 58630c02ef..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/application-context.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/application-context.xml
deleted file mode 100644
index fdbc37ba72..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/application-context.xml
+++ /dev/null
@@ -1,320 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /introspect
- /revoke
- /token
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/assertion-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/assertion-config.xml
deleted file mode 100644
index 59ea49fe90..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/assertion-config.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/authz-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/authz-config.xml
deleted file mode 100644
index 0c5e5019f8..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/authz-config.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/crypto-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/crypto-config.xml
deleted file mode 100644
index 36c043a782..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/crypto-config.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/data-context.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/data-context.xml
deleted file mode 100644
index 0313b5b1b5..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/data-context.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/endpoint-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/endpoint-config.xml
deleted file mode 100644
index bcfc14a6c3..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/endpoint-config.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/jpa-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/jpa-config.xml
deleted file mode 100644
index afe40844af..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/jpa-config.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/local-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/local-config.xml
deleted file mode 100644
index e580f6e52a..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/local-config.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/locale-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/locale-config.xml
deleted file mode 100644
index 60cdb6b0f1..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/locale-config.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/server-config.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/server-config.xml
deleted file mode 100644
index bf9f998652..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/server-config.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/spring-servlet.xml b/openid-connect-server-webapp/src/main/webapp/WEB-INF/spring-servlet.xml
deleted file mode 100644
index f37e980ba6..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/spring-servlet.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/actionmenu.tag b/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/actionmenu.tag
deleted file mode 100644
index d391a30ad0..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/actionmenu.tag
+++ /dev/null
@@ -1,20 +0,0 @@
-<%@ tag language="java" pageEncoding="UTF-8"%>
-<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
-<%@ taglib prefix="security"
- uri="http://www.springframework.org/security/tags"%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/copyright.tag b/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/copyright.tag
deleted file mode 100644
index 4b0aa920ad..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/copyright.tag
+++ /dev/null
@@ -1,4 +0,0 @@
-<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
-
-
diff --git a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/footer.tag b/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/footer.tag
deleted file mode 100644
index 2b95de6dcb..0000000000
--- a/openid-connect-server-webapp/src/main/webapp/WEB-INF/tags/footer.tag
+++ /dev/null
@@ -1,45 +0,0 @@
-<%@ attribute name="js" required="false"%>
-<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
-<%@ taglib prefix="o" tagdir="/WEB-INF/tags"%>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- " >
-
-
-
-
-