diff --git a/perun-oidc-server-webapp/src/main/resources/db/hsql/v9.0.0.sql b/perun-oidc-server-webapp/src/main/resources/db/hsql/v9.0.0.sql new file mode 100644 index 000000000..37e2217ea --- /dev/null +++ b/perun-oidc-server-webapp/src/main/resources/db/hsql/v9.0.0.sql @@ -0,0 +1,2 @@ +ALTER TABLE client_details ADD accepted_tos BOOLEAN DEFAULT false; +ALTER TABLE client_details ADD jurisdiction VARCHAR(3) DEFAULT NULL; diff --git a/perun-oidc-server-webapp/src/main/resources/db/mysql/v9.0.0.sql b/perun-oidc-server-webapp/src/main/resources/db/mysql/v9.0.0.sql new file mode 100644 index 000000000..37e2217ea --- /dev/null +++ b/perun-oidc-server-webapp/src/main/resources/db/mysql/v9.0.0.sql @@ -0,0 +1,2 @@ +ALTER TABLE client_details ADD accepted_tos BOOLEAN DEFAULT false; +ALTER TABLE client_details ADD jurisdiction VARCHAR(3) DEFAULT NULL; diff --git a/perun-oidc-server-webapp/src/main/resources/db/psql/v9.0.0.sql b/perun-oidc-server-webapp/src/main/resources/db/psql/v9.0.0.sql new file mode 100644 index 000000000..37e2217ea --- /dev/null +++ b/perun-oidc-server-webapp/src/main/resources/db/psql/v9.0.0.sql @@ -0,0 +1,2 @@ +ALTER TABLE client_details ADD accepted_tos BOOLEAN DEFAULT false; +ALTER TABLE client_details ADD jurisdiction VARCHAR(3) DEFAULT NULL; diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/footer.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/footer.tag index 87b04434f..2dc537d61 100644 --- a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/footer.tag +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/footer.tag @@ -1,7 +1,6 @@ <%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="o" tagdir="/WEB-INF/tags" %> -<%@ taglib prefix="elixir" tagdir="/WEB-INF/tags/elixir" %> <%@ taglib prefix="cesnet" tagdir="/WEB-INF/tags/cesnet" %> <%@ taglib prefix="einfra" tagdir="/WEB-INF/tags/einfra" %> <%@ taglib prefix="bbmri" tagdir="/WEB-INF/tags/bbmri" %> @@ -13,9 +12,6 @@ <%@ attribute name="theme" required="true" %> - - - diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/header.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/header.tag index 10f3869d2..160bc8fbe 100644 --- a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/header.tag +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/common/header.tag @@ -1,7 +1,6 @@ <%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="o" tagdir="/WEB-INF/tags" %> -<%@ taglib prefix="elixir" tagdir="/WEB-INF/tags/elixir" %> <%@ taglib prefix="cesnet" tagdir="/WEB-INF/tags/cesnet" %> <%@ taglib prefix="einfra" tagdir="/WEB-INF/tags/einfra" %> <%@ taglib prefix="bbmri" tagdir="/WEB-INF/tags/bbmri" %> @@ -15,9 +14,6 @@ <%@ attribute name="cssLinks" required="true" type="java.util.ArrayList" %> - - - diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/footer.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/footer.tag deleted file mode 100644 index d0d11980e..000000000 --- a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/footer.tag +++ /dev/null @@ -1,27 +0,0 @@ -<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> -<%@ attribute name="js" required="false"%> -<%@ attribute name="baseURL" required="true"%> -<%@ attribute name="samlResourcesURL" required="true"%> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> -<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> -<%@ taglib prefix="t" tagdir="/WEB-INF/tags/common" %> - - - diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/header.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/header.tag deleted file mode 100644 index 52814cee5..000000000 --- a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/elixir/header.tag +++ /dev/null @@ -1,23 +0,0 @@ -<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="o" tagdir="/WEB-INF/tags/common" %> -<%@ attribute name="title" required="true" %> -<%@ attribute name="reqURL" required="true" %> -<%@ attribute name="baseURL" required="true" %> -<%@ attribute name="samlResourcesURL" required="true" %> -<%@ attribute name="cssLinks" required="true" type="java.util.ArrayList" %> - - - - - - - - - - - - - - diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/footer.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/footer.tag new file mode 100644 index 000000000..df0b676a1 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/footer.tag @@ -0,0 +1,21 @@ +<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> + + + + + + + + + + + \ No newline at end of file diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/header.tag b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/header.tag new file mode 100644 index 000000000..5baa96ff6 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/tags/lsaai/header.tag @@ -0,0 +1,19 @@ +<%@ tag pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> + + + + + + + SimpleSAMLphp + + + + +
+
+
+ Life Science Login logo +
\ No newline at end of file diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/continue_direct.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/continue_direct.jsp deleted file mode 100644 index cc0636fac..000000000 --- a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/continue_direct.jsp +++ /dev/null @@ -1,35 +0,0 @@ -<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" trimDirectiveWhitespaces="true" %> -<%@ page import="java.util.ArrayList" %> -<%@ page import="java.util.List" %> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> -<%@ taglib prefix="t" tagdir="/WEB-INF/tags/common" %> -<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> - -<% - -List cssLinks = new ArrayList<>(); - -pageContext.setAttribute("cssLinks", cssLinks); - -%> - - - -

- -
<%-- header --%> - -
- -

-
-
- -
-
- - diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approve.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approve.jsp new file mode 100644 index 000000000..9a3eb8a28 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approve.jsp @@ -0,0 +1,149 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" + import="cz.muni.ics.oidc.server.ga4gh.Ga4ghPassportAndVisaClaimSource"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+

+ The service requires access to your personal data. + + Please, read the ">Privacy Policy of the service to learn more about its commitments to protect your data. + +

+
+ + + + + + + + + + + + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approveDevice.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approveDevice.jsp new file mode 100644 index 000000000..623a13a97 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/approveDevice.jsp @@ -0,0 +1,153 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" + import="cz.muni.ics.oidc.server.ga4gh.Ga4ghPassportAndVisaClaimSource"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+

+ The service requires access to your personal data. + + Please, read the ">Privacy Policy of the service to learn more about its commitments to protect your data. + +

+
+ + + + + + + + + + + + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/aup.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/aup.jsp new file mode 100644 index 000000000..460cf1cb4 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/aup.jsp @@ -0,0 +1,26 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +

+
+ +
+

${" "}${aup.key}

+

${" "}${aup.value.version}${" "} +

+
+
+ +
+ + +
+
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/isTestSpWarning.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/isTestSpWarning.jsp new file mode 100644 index 000000000..900cf4f6c --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/isTestSpWarning.jsp @@ -0,0 +1,23 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +

+ +
+
+
+ + + + + + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_failure.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_failure.jsp new file mode 100644 index 000000000..db02f2305 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_failure.jsp @@ -0,0 +1,23 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+ +
+ +
+
+
${" "} + ${contactMail}. +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_success.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_success.jsp new file mode 100644 index 000000000..a6c545567 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/login_success.jsp @@ -0,0 +1,15 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout.jsp new file mode 100644 index 000000000..dc036c78e --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout.jsp @@ -0,0 +1,28 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +

+
+

+
+
+ + +
+
+ + +
+
+ +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logoutConfirmation.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logoutConfirmation.jsp new file mode 100644 index 000000000..106635b25 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logoutConfirmation.jsp @@ -0,0 +1,48 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+ +

+ +
+ +
+
+ + +
+ + +   + + + + + + + + + +
+
+ +
+ + +   + +
+
+ +
+ +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_denied.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_denied.jsp new file mode 100644 index 000000000..7d9e6e582 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_denied.jsp @@ -0,0 +1,15 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_success.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_success.jsp new file mode 100644 index 000000000..deebb7fd4 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/logout_success.jsp @@ -0,0 +1,15 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationForm.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationForm.jsp new file mode 100644 index 000000000..1ab466da5 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationForm.jsp @@ -0,0 +1,54 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+ +
+
+

+ + + + + + + + +
+ + + + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationFormContinue.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationFormContinue.jsp new file mode 100644 index 000000000..29b06219b --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/registrationFormContinue.jsp @@ -0,0 +1,35 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + + +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/requestUserCode.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/requestUserCode.jsp new file mode 100644 index 000000000..1e1e878da --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/requestUserCode.jsp @@ -0,0 +1,55 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+ +

+ + + + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ +
+
+ +
+
+ +
+
+ + +
+
+ +
+ +
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedDeviceApproved.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedDeviceApproved.jsp new file mode 100644 index 000000000..2bbf141c3 --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedDeviceApproved.jsp @@ -0,0 +1,33 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +

+

+

+

+

+ + ${" "} + + + ${" "} + + + + + ${" "} + + + ${" "} + + ${". "} + +

+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedRequestUserCode.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedRequestUserCode.jsp new file mode 100644 index 000000000..036cc1e2b --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/themedRequestUserCode.jsp @@ -0,0 +1,61 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +

+ + +

+ + + + + + + + + + + + + + + + + +

+
+ +

+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+ + + + +
+ +
+ + \ No newline at end of file diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved.jsp new file mode 100644 index 000000000..e2d1d3ecc --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved.jsp @@ -0,0 +1,36 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+ + + + + + +

+

${' '}${fn:escapeXml(client.clientName)} + +
+ ${' '} + + ${fn:escapeXml(client.clientUri)} + +
+

+ + +

${' '} + + ${fn:escapeXml(contact)} + +

+
+ + diff --git a/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved_spec.jsp b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved_spec.jsp new file mode 100644 index 000000000..6bdd59a7c --- /dev/null +++ b/perun-oidc-server-webapp/src/main/webapp/WEB-INF/views/lsaai/unapproved_spec.jsp @@ -0,0 +1,16 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="ls" tagdir="/WEB-INF/tags/lsaai" %> + + + +
+

+

+

${" "}${contactMail}

+
+ + diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/ClientDetailsEntity.java b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/ClientDetailsEntity.java index f09672bb8..d796ab886 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/ClientDetailsEntity.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/model/ClientDetailsEntity.java @@ -314,6 +314,12 @@ public class ClientDetailsEntity implements ClientDetails { } } + @Column(name = "accepted_tos") + private boolean acceptedTos; + + @Column(name = "jurisdiction") + private String jurisdiction; + @Override public String getClientId() { return clientId; diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/controller/OAuthConfirmationController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/controller/OAuthConfirmationController.java index 68243c78b..3de64b5df 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/controller/OAuthConfirmationController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/controller/OAuthConfirmationController.java @@ -38,8 +38,11 @@ import cz.muni.ics.openid.connect.service.ScopeClaimTranslationService; import cz.muni.ics.openid.connect.service.UserInfoService; import cz.muni.ics.openid.connect.view.HttpCodeView; import java.net.URISyntaxException; +import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; @@ -55,6 +58,7 @@ import org.springframework.security.oauth2.common.exceptions.OAuth2Exception; import org.springframework.security.oauth2.provider.AuthorizationRequest; import org.springframework.security.oauth2.provider.endpoint.RedirectResolver; import org.springframework.stereotype.Controller; +import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.SessionAttributes; @@ -88,6 +92,11 @@ public class OAuthConfirmationController { public static final String APPROVE = "approve"; public static final String REMEMBER_ENABLED = "rememberEnabled"; + public static final String LSAAI = "lsaai"; + + public static final Set euEaa = Set.of("AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", + "EL", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PT", "RO", "SK", "SI", "ES", "SE", "NO", "IS", "LI", "GB"); + @Getter @Setter private ClientDetailsEntityService clientService; @@ -188,9 +197,25 @@ public class OAuthConfirmationController { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); model.put(PAGE, CONSENT); + if (perunOidcConfig.getTheme().equalsIgnoreCase(LSAAI)) { + model.put("getsOfflineAccess", authRequest.getScope().contains("offline_access")); + model.put("jurisdiction", getJurisdiction(client)); + return "lsaai/approve"; + } return THEMED_APPROVE; } + private String getJurisdiction(ClientDetailsEntity client) { + if (!StringUtils.hasText(client.getJurisdiction()) || euEaa.contains(client.getJurisdiction())) { + return ""; + } else if (client.getJurisdiction().length() > 2) { + return "INT"; + } + + Locale l = new Locale("", client.getJurisdiction()); + return l.getDisplayCountry() + " (" + l.getISO3Country() + ")"; + } + private String sendRedirect(AuthorizationRequest authRequest, Map model, ClientDetailsEntity client) { String url = redirectResolver.resolveRedirect(authRequest.getRedirectUri(), client); diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/endpoint/DeviceEndpoint.java b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/endpoint/DeviceEndpoint.java index 967163287..3555bcca6 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/endpoint/DeviceEndpoint.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oauth2/web/endpoint/DeviceEndpoint.java @@ -38,6 +38,7 @@ import java.net.URISyntaxException; import java.util.Collection; import java.util.Date; import java.util.HashMap; +import java.util.Locale; import java.util.Map; import java.util.Set; import javax.servlet.http.HttpServletRequest; @@ -125,6 +126,8 @@ public class DeviceEndpoint { public static final String CHECK_USER_CODE_URL = "/auth/device/authorize"; public static final String DEVICE_APPROVED_URL = "/auth/device/approved"; + public static final Set euEaa = Set.of("AT", "BE", "BG", "HR", "CY", "CZ", "DK", "EE", "FI", "FR", "DE", "EL", "HU", "IE", "IT", "LV", "LT", "LU", "MT", "NL", "PT", "RO", "SK", "SI", "ES", "SE", "NO", "IS", "LI", "GB"); + private final ClientDetailsEntityService clientService; private final SystemScopeService scopeService; private final DeviceCodeService deviceCodeService; @@ -403,6 +406,9 @@ public class DeviceEndpoint { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); model.put(PAGE, REQUEST_USER_CODE); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/" + THEMED_REQUEST_USER_CODE; + } return THEMED_REQUEST_USER_CODE; } @@ -413,6 +419,9 @@ public class DeviceEndpoint { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); model.put(PAGE, DEVICE_APPROVED); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/" + THEMED_DEVICE_APPROVED; + } return THEMED_DEVICE_APPROVED; } @@ -435,9 +444,25 @@ public class DeviceEndpoint { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); model.put(PAGE, APPROVE_DEVICE); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + model.put("getsOfflineAccess", dc.getScope().contains("offline_access")); + model.put("jurisdiction", getJurisdiction(client)); + return "lsaai/" + APPROVE_DEVICE; + } return THEMED_APPROVE_DEVICE; } + private String getJurisdiction(ClientDetailsEntity client) { + if (!StringUtils.hasText(client.getJurisdiction()) || euEaa.contains(client.getJurisdiction())) { + return ""; + } else if (client.getJurisdiction().length() > 2) { + return "INT"; + } + + Locale l = new Locale("", client.getJurisdiction()); + return l.getDisplayCountry() + " (" + l.getISO3Country() + ")"; + } + private String constructVerificationURI(String uri, Map params) throws URISyntaxException { if (params == null || params.isEmpty()) { return uri; diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/AupController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/AupController.java index 83989164a..673801627 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/AupController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/AupController.java @@ -71,6 +71,9 @@ public class AupController { model.put(NEW_AUPS, newAups); ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/aup"; + } return "aup"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/IsTestSpController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/IsTestSpController.java index 294995f65..8445758bc 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/IsTestSpController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/IsTestSpController.java @@ -46,6 +46,9 @@ public class IsTestSpController { model.put(TARGET, returnUrl); model.put(ACTION, req.getRequestURL().toString()); ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/isTestSpWarning"; + } return "isTestSpWarning"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LoginController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LoginController.java index ce9e04041..5437b375e 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LoginController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LoginController.java @@ -40,6 +40,9 @@ public class LoginController { @RequestMapping(value = MAPPING_SUCCESS) public String loginSuccess(HttpServletRequest req, Map model) { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/login_success"; + } return "login_success"; } @@ -65,6 +68,9 @@ public class LoginController { } ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/login_failure"; + } return "login_failure"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LogoutController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LogoutController.java index 2da02addd..2c5b42750 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LogoutController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/LogoutController.java @@ -27,6 +27,9 @@ public class LogoutController { @RequestMapping(value = MAPPING_SUCCESS) public String logoutSuccess(HttpServletRequest req, Map model) { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/logout_success"; + } return "logout_success"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedController.java index 22108b65b..f56ba35bb 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedController.java @@ -112,6 +112,9 @@ public class PerunUnapprovedController { ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); model.put("client", client); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved"; + } return "unapproved"; } @@ -127,6 +130,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -156,6 +162,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -180,6 +189,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -192,6 +204,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -204,6 +219,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -216,6 +234,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } @@ -228,6 +249,9 @@ public class PerunUnapprovedController { model.put(OUT_CONTACT_P, CONTACT_LANG_PROP_KEY); model.put(CONTACT_MAIL, perunOidcConfig.getEmailContact()); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/unapproved_spec"; + } return "unapproved_spec"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedRegistrationController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedRegistrationController.java index e1ec8d437..9f4044f7f 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedRegistrationController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/PerunUnapprovedRegistrationController.java @@ -119,6 +119,9 @@ public class PerunUnapprovedRegistrationController { model.put("groupsForRegistration", groupsForRegistration); model.put("page", "regForm"); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/registrationForm"; + } return "registrationForm"; } @@ -150,6 +153,9 @@ public class PerunUnapprovedRegistrationController { .replace(REGISTRATION_CONTINUE_MAPPING, REGISTRATION_FORM_MAPPING)); ControllerUtils.setPageOptions(model, request, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/registrationFormContinue"; + } return "registrationFormContinue"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/RegistrationController.java b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/RegistrationController.java index 58ffa56fd..980ff9426 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/RegistrationController.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/oidc/web/controllers/RegistrationController.java @@ -35,6 +35,9 @@ public class RegistrationController { { model.put(PARAM_TARGET, target); ControllerUtils.setPageOptions(model, req, htmlClasses, perunOidcConfig); + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/continue_direct"; + } return "continue_direct"; } diff --git a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/endpoint/EndSessionEndpoint.java b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/endpoint/EndSessionEndpoint.java index 7432e11b0..2d36b5e11 100644 --- a/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/endpoint/EndSessionEndpoint.java +++ b/perun-oidc-server/src/main/java/cz/muni/ics/openid/connect/web/endpoint/EndSessionEndpoint.java @@ -146,6 +146,9 @@ public class EndSessionEndpoint { ControllerUtils.setPageOptions(model, request, htmlClasses, perunOidcConfig); // display the log out confirmation page + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/logout"; + } return "logout"; } } @@ -187,6 +190,9 @@ public class EndSessionEndpoint { log.trace("redirecting to logout SAML only"); return "redirect:" + getLogoutUrl(null); } else { + if (perunOidcConfig.getTheme().equalsIgnoreCase("lsaai")) { + return "lsaai/logout_denied"; + } return "logout_denied"; } }