From e16ee87bb563db64b0d021d37a24678991404d2c Mon Sep 17 00:00:00 2001
From: Martin Weise <martin.weise@tuwien.ac.at>
Date: Fri, 15 Oct 2021 00:25:23 +0200
Subject: [PATCH] still not working

Former-commit-id: 6a593b691d9b4d2de0030ccffdd503767d5c9bdb
---
 fda-authentication-service/.gitignore         |   2 +-
 fda-authentication-service/README.md          |   2 +-
 fda-authentication-service/pom.xml            |  28 ++---
 .../FdaAuthenticationServiceApplication.java  |   4 +-
 .../endpoints/AuthenticationEndpoint.java     |  71 ++-----------
 .../src/main/resources/application-docker.yml |   3 -
 .../src/main/resources/application.yml        |  22 ++--
 .../src/main/resources/saml/dbrepo.jks        | Bin 0 -> 2697 bytes
 .../src/main/resources/saml/dbrepo.p12        | Bin 0 -> 3737 bytes
 .../src/main/resources/saml/idp_metadata.xml  |  57 ++++++++++
 .../{idp_metadata.xml => saml/metadata.xml}   |  20 ++++
 .../main/resources/{ => saml}/sp_metadata.xml |   9 +-
 .../src/main/resources/x509/.gitkeep          |   0
 .../resources/x509/dev-ossdip-at-chain.pem    |  91 ++++++++++++++++
 .../main/resources/x509/dev-ossdip-at-key.pem |  28 +++++
 .../java/at/tuwien/config/SamlConfig.java     | 100 +++++-------------
 .../java/at/tuwien/service/UserService.java   |  29 -----
 fda-ui/components/.gitkeep                    |   0
 18 files changed, 269 insertions(+), 197 deletions(-)
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.jks
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.p12
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/saml/idp_metadata.xml
 rename fda-authentication-service/rest-service/src/main/resources/{idp_metadata.xml => saml/metadata.xml} (71%)
 rename fda-authentication-service/rest-service/src/main/resources/{ => saml}/sp_metadata.xml (68%)
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/x509/.gitkeep
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-chain.pem
 create mode 100644 fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-key.pem
 delete mode 100644 fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
 create mode 100644 fda-ui/components/.gitkeep

diff --git a/fda-authentication-service/.gitignore b/fda-authentication-service/.gitignore
index 56d435d49f..619d263f9c 100644
--- a/fda-authentication-service/.gitignore
+++ b/fda-authentication-service/.gitignore
@@ -6,7 +6,7 @@ target/
 
 ### Generated ###
 ready
-*.jks
+*.pem
 
 ### STS ###
 .apt_generated
diff --git a/fda-authentication-service/README.md b/fda-authentication-service/README.md
index 6e9dbfb63a..7e7d2f4ace 100644
--- a/fda-authentication-service/README.md
+++ b/fda-authentication-service/README.md
@@ -9,4 +9,4 @@ use TU Wien SSO
 
 ## Development
 
-Context metadata for IdP: `http://localhost:9097/context/saml/metadata`
\ No newline at end of file
+Context metadata for IdP: `http://localhost:9097/saml/metadata`
\ No newline at end of file
diff --git a/fda-authentication-service/pom.xml b/fda-authentication-service/pom.xml
index ef5b2972a8..002414fcdd 100644
--- a/fda-authentication-service/pom.xml
+++ b/fda-authentication-service/pom.xml
@@ -33,19 +33,6 @@
     </properties>
 
     <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security.extensions</groupId>
-            <artifactId>spring-security-saml2-core</artifactId>
-            <version>${spring-saml.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-validation</artifactId>
@@ -60,6 +47,16 @@
             <artifactId>javax.ws.rs-api</artifactId>
             <version>${javax-rs.version}</version>
         </dependency>
+        <!-- SAML -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-security</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.security.extensions</groupId>
+            <artifactId>spring-security-saml2-core</artifactId>
+            <version>${spring-saml.version}</version>
+        </dependency>
         <!-- Entity and API -->
         <dependency>
             <groupId>at.tuwien</groupId>
@@ -74,6 +71,11 @@
             <scope>compile</scope>
         </dependency>
         <!-- Testing -->
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-test</artifactId>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
diff --git a/fda-authentication-service/rest-service/src/main/java/at/tuwien/FdaAuthenticationServiceApplication.java b/fda-authentication-service/rest-service/src/main/java/at/tuwien/FdaAuthenticationServiceApplication.java
index 4501fd8b9c..9ee4a655b6 100644
--- a/fda-authentication-service/rest-service/src/main/java/at/tuwien/FdaAuthenticationServiceApplication.java
+++ b/fda-authentication-service/rest-service/src/main/java/at/tuwien/FdaAuthenticationServiceApplication.java
@@ -5,11 +5,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
 import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
+import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
 import springfox.documentation.oas.annotations.EnableOpenApi;
 
-@EnableWebMvc
 @EnableOpenApi
+@EnableWebSecurity
 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class,
         DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
 public class FdaAuthenticationServiceApplication {
diff --git a/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/AuthenticationEndpoint.java b/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/AuthenticationEndpoint.java
index d506ce1610..74c4207cf9 100644
--- a/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/AuthenticationEndpoint.java
+++ b/fda-authentication-service/rest-service/src/main/java/at/tuwien/endpoints/AuthenticationEndpoint.java
@@ -1,73 +1,18 @@
 package at.tuwien.endpoints;
 
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.authentication.AnonymousAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.saml.metadata.MetadataManager;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletRequest;
-import java.util.Set;
-
-/**
- * https://www.baeldung.com/spring-security-saml
- */
-@Log4j2
-@RestController
-@CrossOrigin(origins = "*")
-@ControllerAdvice
-@RequestMapping("/api/auth")
+@RestController("/api/auth")
 public class AuthenticationEndpoint {
 
-    private final MetadataManager metadataManager;
-
-    @Autowired
-    public AuthenticationEndpoint(MetadataManager metadataManager) {
-        this.metadataManager = metadataManager;
+    @RequestMapping("/")
+    public String index() {
+        return "index";
     }
 
-//    @GetMapping
-//    @ApiOperation(value = "Check user authentication", notes = "Check if the user is authenticated")
-//    @ApiResponses({
-//            @ApiResponse(code = 202, message = "User is authenticated."),
-//            @ApiResponse(code = 401, message = "The user is not authenticated"),
-//    })
-//    public ResponseEntity<?> status() {
-//        final Authentication auth = SecurityContextHolder.getContext()
-//                .getAuthentication();
-//        if (auth.isAuthenticated()) {
-//            return ResponseEntity.status(HttpStatus.ACCEPTED)
-//                    .build();
-//        }
-//        return ResponseEntity.status(HttpStatus.UNAUTHORIZED)
-//                .build();
-//    }
-//
-    @RequestMapping(value = "/discovery", method = RequestMethod.GET)
-    public String idpSelection(HttpServletRequest request) {
-        Authentication auth = SecurityContextHolder.getContext().getAuthentication();
-        if (auth == null) {
-            log.debug("Current authentication instance from security context is null");
-        } else {
-            log.debug("Current authentication instance from security context: {}", this.getClass().getSimpleName());
-        }
-        if (auth == null || (auth instanceof AnonymousAuthenticationToken)) {
-            final Set<String> idps = metadataManager.getIDPEntityNames();
-            for (String idp : idps) {
-                log.debug("Configured Identity Provider for SSO: {}", idp);
-            }
-            return "pages/discovery";
-        } else {
-            log.warn("The current user is already logged.");
-            return "redirect:/landing";
-        }
+    @RequestMapping("/hello")
+    public String hello() {
+        return "hello";
     }
 
-}
+}
\ No newline at end of file
diff --git a/fda-authentication-service/rest-service/src/main/resources/application-docker.yml b/fda-authentication-service/rest-service/src/main/resources/application-docker.yml
index 6d5e8cc253..e510399f39 100644
--- a/fda-authentication-service/rest-service/src/main/resources/application-docker.yml
+++ b/fda-authentication-service/rest-service/src/main/resources/application-docker.yml
@@ -16,9 +16,6 @@ eureka:
 fda:
   ready.path: /ready
   identity.provider:
-    discovery:
-      url: http://localhost:9097/context/saml/discovery
-      response: http://localhost:9097/context/saml/login
     metadata: https://idp.zid.tuwien.ac.at/saml2
     issuer:
     cert: /okta.crt
diff --git a/fda-authentication-service/rest-service/src/main/resources/application.yml b/fda-authentication-service/rest-service/src/main/resources/application.yml
index adbbc29011..ae3a28fe68 100644
--- a/fda-authentication-service/rest-service/src/main/resources/application.yml
+++ b/fda-authentication-service/rest-service/src/main/resources/application.yml
@@ -6,6 +6,7 @@ spring:
     loadbalancer.ribbon.enabled: false
   security:
     saml2:
+      metadata: ./rest-service/src/main/resources/saml/metadata.xml
       relyingparty:
         registration:
           okta-saml:
@@ -15,7 +16,14 @@ spring:
                 - certificate-location: "classpath:x509/okta.crt"
               singlesignon.url: https://dev-13953915.okta.com/app/dev-13953915_testtusaml_1/exk26nye6eBAomvJW5d7/sso/saml
               singlesignon.sign-request: false
-server.port: 9097
+server:
+  port: 9097
+  ssl.enabled: true
+  ssl:
+    key-alias: dbrepo
+    key-store: classpath:saml/dbrepo.p12
+    key-store-password: dbrepo
+    key-store-type: pkcs12
 logging:
   pattern.console: "%d %highlight(%-5level) %msg%n"
   level:
@@ -25,14 +33,4 @@ eureka:
   instance.hostname: fda-authentication-service
   client.serviceUrl.defaultZone: http://localhost:9090/eureka/
 fda:
-  ready.path: ./ready
-  identity.provider:
-    metadata: ./rest-service/src/main/resources/idp_metadata.xml
-    discovery:
-      url: http://localhost:9097/context/saml/discovery
-      response: http://localhost:9097/context/saml/login
-  saml:
-    keystore:
-      location: ./dbrepo.jks
-      alias: dbrepo
-      password: dbrepo
\ No newline at end of file
+  ready.path: ./ready
\ No newline at end of file
diff --git a/fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.jks b/fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.jks
new file mode 100644
index 0000000000000000000000000000000000000000..edcd186eae340994138383d9d1ba2682484d7b26
GIT binary patch
literal 2697
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
B&(Ht>

literal 0
HcmV?d00001

diff --git a/fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.p12 b/fda-authentication-service/rest-service/src/main/resources/saml/dbrepo.p12
new file mode 100644
index 0000000000000000000000000000000000000000..ff3f0de9b9d456e0cb03f5c5478b64d26be5cf63
GIT binary patch
literal 3737
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
E0ENHSTmS$7

literal 0
HcmV?d00001

diff --git a/fda-authentication-service/rest-service/src/main/resources/saml/idp_metadata.xml b/fda-authentication-service/rest-service/src/main/resources/saml/idp_metadata.xml
new file mode 100644
index 0000000000..79437e90d1
--- /dev/null
+++ b/fda-authentication-service/rest-service/src/main/resources/saml/idp_metadata.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<md:EntityDescriptor entityID="http://www.okta.com/exk26nye6eBAomvJW5d7"
+                     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
+    <md:IDPSSODescriptor WantAuthnRequestsSigned="false"
+                         protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+        <md:KeyDescriptor use="signing">
+            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
+                <ds:X509Data>
+                    <ds:X509Certificate>MIIDqDCCApCgAwIBAgIGAXxuFWkiMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEG
+                        A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU
+                        MBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi0xMzk1MzkxNTEcMBoGCSqGSIb3DQEJ
+                        ARYNaW5mb0Bva3RhLmNvbTAeFw0yMTEwMTEwNjQwMDlaFw0zMTEwMTEwNjQxMDlaMIGUMQswCQYD
+                        VQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsG
+                        A1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi0xMzk1MzkxNTEc
+                        MBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
+                        ggEBAIZny5u9B0ooc5OigsxXv9MisZZzvXdoiIUtkF3Lvd2wEsdEcl8JPeZ0Id9xskaxkVhvvVeW
+                        W+R0yADi4mmDkqrKfOkSKqBSFlaHAlH1OZyfWLTLmMwxTuVNCu200ok33p/iyJ5dff914YEuQRVw
+                        1u+t9UVwtSrNoDaJG8vxh1JsZ1zXceGRENvD/NdzV/PherPNmKnnr2r10uKTDrc03NJt22AOGxY0
+                        s0NDHU2hqm8xNiGnztZxlcrjTKtUljOQnAsaqY+AugH1Ov40VABotgg+r69uz+lYpbDiDtpZbPfK
+                        gwCcQwWeX0VaYDeK+ESXxo55eM8qxeMbC6CrKIALLw0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEA
+                        WgUI3wswTBZa7zkF90KTnlb7+qnks4rdV8c6Guxpj5TIqsAZjDYv573Dqqpsp5QJBSfUwO1iRdXf
+                        ueO6r8haLY2ukk5vjZd31GboH+e+py6nVATUZ5xL2JxMhDgG8Hh9Gg/rl04O4Uk12f9YJF1k5Qko
+                        ZQ3Kaxf/5nKw3mJL4wzmJz3ezeEn4M5VyC6BfhIcIC+asScsEgjRNQQ/SrgG7ywl0C3i+P41Nw9x
+                        cWXQ6pepnLVR9q1aaLv2cyZ7RiN0JyKxruWdZPAluPODEp65TpfKbfCBXM00Bikm4MW76rXH2sjI
+                        uUmMDfGSFmR+urDPJdc8kL26X0kwUrbEXXsT3g==
+                    </ds:X509Certificate>
+                </ds:X509Data>
+            </ds:KeyInfo>
+        </md:KeyDescriptor>
+        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
+        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat>
+        <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+                                Location="https://dev-13953915.okta.com/app/dev-13953915_testtusaml_1/exk26nye6eBAomvJW5d7/sso/saml"/>
+        <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
+                                Location="https://dev-13953915.okta.com/app/dev-13953915_testtusaml_1/exk26nye6eBAomvJW5d7/sso/saml"/>
+    </md:IDPSSODescriptor>
+    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
+        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+                                     Location="https://dbrepo.ossdip.at/api/auth"
+                                     index="1" />
+
+    </md:SPSSODescriptor>
+    <md:Organization>
+        <md:OrganizationName xml:lang="en-US">Technische Universität Wien</md:OrganizationName>
+        <md:OrganizationDisplayName xml:lang="en-US">TU Wien</md:OrganizationDisplayName>
+        <md:OrganizationURL xml:lang="en-US">https://tuwien.ac.at</md:OrganizationURL>
+    </md:Organization>
+    <md:ContactPerson contactType="technical">
+        <md:GivenName>Martin Weise</md:GivenName>
+        <md:EmailAddress>martin.weise@tuwien.ac.at</md:EmailAddress>
+    </md:ContactPerson>
+    <md:ContactPerson contactType="support">
+        <md:GivenName>Andreas Rauber</md:GivenName>
+        <md:EmailAddress>andreas.rauber@tuwien.ac.at</md:EmailAddress>
+    </md:ContactPerson>
+</md:EntityDescriptor>
\ No newline at end of file
diff --git a/fda-authentication-service/rest-service/src/main/resources/idp_metadata.xml b/fda-authentication-service/rest-service/src/main/resources/saml/metadata.xml
similarity index 71%
rename from fda-authentication-service/rest-service/src/main/resources/idp_metadata.xml
rename to fda-authentication-service/rest-service/src/main/resources/saml/metadata.xml
index bea0721ad3..696949e9b6 100644
--- a/fda-authentication-service/rest-service/src/main/resources/idp_metadata.xml
+++ b/fda-authentication-service/rest-service/src/main/resources/saml/metadata.xml
@@ -34,4 +34,24 @@
         <md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
                                 Location="https://dev-13953915.okta.com/app/dev-13953915_testtusaml_1/exk26nye6eBAomvJW5d7/sso/saml"/>
     </md:IDPSSODescriptor>
+    <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
+        <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
+        <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
+                                     Location="http://localhost:9097/api/auth"
+                                     index="1" />
+
+    </md:SPSSODescriptor>
+    <md:Organization>
+        <md:OrganizationName xml:lang="en-US">Technische Universität Wien</md:OrganizationName>
+        <md:OrganizationDisplayName xml:lang="en-US">TU Wien</md:OrganizationDisplayName>
+        <md:OrganizationURL xml:lang="en-US">https://tuwien.ac.at</md:OrganizationURL>
+    </md:Organization>
+    <md:ContactPerson contactType="technical">
+        <md:GivenName>Martin Weise</md:GivenName>
+        <md:EmailAddress>martin.weise@tuwien.ac.at</md:EmailAddress>
+    </md:ContactPerson>
+    <md:ContactPerson contactType="support">
+        <md:GivenName>Andreas Rauber</md:GivenName>
+        <md:EmailAddress>andreas.rauber@tuwien.ac.at</md:EmailAddress>
+    </md:ContactPerson>
 </md:EntityDescriptor>
\ No newline at end of file
diff --git a/fda-authentication-service/rest-service/src/main/resources/sp_metadata.xml b/fda-authentication-service/rest-service/src/main/resources/saml/sp_metadata.xml
similarity index 68%
rename from fda-authentication-service/rest-service/src/main/resources/sp_metadata.xml
rename to fda-authentication-service/rest-service/src/main/resources/saml/sp_metadata.xml
index 64ef410c5a..696482b54b 100644
--- a/fda-authentication-service/rest-service/src/main/resources/sp_metadata.xml
+++ b/fda-authentication-service/rest-service/src/main/resources/saml/sp_metadata.xml
@@ -1,15 +1,20 @@
 <?xml version="1.0"?>
 <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
-                     validUntil="2021-10-13T10:33:48Z"
+                     validUntil="2021-10-13T15:46:10Z"
                      cacheDuration="PT604800S"
                      entityID="at:tuwien:dbrepo:auth">
     <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
         <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
         <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
-                                     Location="http://localhost:9097/api/auth"
+                                     Location="https://dbrepo.ossdip.at/api/auth"
                                      index="1" />
 
     </md:SPSSODescriptor>
+    <md:Organization>
+        <md:OrganizationName xml:lang="en-US">Technische Universität Wien</md:OrganizationName>
+        <md:OrganizationDisplayName xml:lang="en-US">TU Wien</md:OrganizationDisplayName>
+        <md:OrganizationURL xml:lang="en-US">https://tuwien.ac.at</md:OrganizationURL>
+    </md:Organization>
     <md:ContactPerson contactType="technical">
         <md:GivenName>Martin Weise</md:GivenName>
         <md:EmailAddress>martin.weise@tuwien.ac.at</md:EmailAddress>
diff --git a/fda-authentication-service/rest-service/src/main/resources/x509/.gitkeep b/fda-authentication-service/rest-service/src/main/resources/x509/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-chain.pem b/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-chain.pem
new file mode 100644
index 0000000000..d6ad39839a
--- /dev/null
+++ b/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-chain.pem
@@ -0,0 +1,91 @@
+-----BEGIN CERTIFICATE-----
+MIIFITCCBAmgAwIBAgISBEh169kOMeYh+SgBdP8KFL2fMA0GCSqGSIb3DQEBCwUA
+MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
+EwJSMzAeFw0yMTEwMTIwNzA4NTVaFw0yMjAxMTAwNzA4NTRaMBgxFjAUBgNVBAMT
+DWRldi5vc3NkaXAuYXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCm
+vl9NZd4qV53j8U1irMwR0RXR2tl0i3FqXUxGYUHabIADLciAzl83vFnPMmJFeubn
+DBGfkP2Z7Q+96fgwuxhXVVovT4uCwNcUGW66LzwemYJKnauy6muPooyllLO/mHAe
+hhtdber7H9dwj8gdTjIDGRgw/owElsMGYOt1XxXRpnmh6QzvprT38Lt7OTfRlvlz
+//p0PoYzfeI295fSGuIAl2rVAOQJq/n/Nl3dbTQ4KdLn0raf5am1ah+S904br34J
+FyDfziswLGNRQ4SuYxFUXmfyV8TsxmJeRRfBa6JFofbAsuvzJ/TcJDiaLcsWjbWz
+KQTz8tWhTA1U5McU0sLTAgMBAAGjggJJMIICRTAOBgNVHQ8BAf8EBAMCBaAwHQYD
+VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0O
+BBYEFIDkQgQxxpq9cTecpFYY97S7ClRyMB8GA1UdIwQYMBaAFBQusxe3WFbLrlAJ
+QOYfr52LFMLGMFUGCCsGAQUFBwEBBEkwRzAhBggrBgEFBQcwAYYVaHR0cDovL3Iz
+Lm8ubGVuY3Iub3JnMCIGCCsGAQUFBzAChhZodHRwOi8vcjMuaS5sZW5jci5vcmcv
+MBgGA1UdEQQRMA+CDWRldi5vc3NkaXAuYXQwTAYDVR0gBEUwQzAIBgZngQwBAgEw
+NwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5sZXRzZW5j
+cnlwdC5vcmcwggEFBgorBgEEAdZ5AgQCBIH2BIHzAPEAdgBByMqx3yJGShDGoToJ
+QodeTjGLGwPr60vHaPCQYpYG9gAAAXxzjB5xAAAEAwBHMEUCIQCYOtWFJnGtJ2kC
+E+De2h/eWKrQPf6guJq/tCWz3XdCPQIgdPKdERwSqECytmCG2jPXLMSxL+LrIPtY
+Zl/cZSePFzkAdwBGpVXrdfqRIDC1oolp9PN9ESxBdL79SbiFq/L8cP5tRwAAAXxz
+jCKvAAAEAwBIMEYCIQCb1vdGOZx4MU72UABM5WOdUNKLZyuqmRYY8MWCiEnuMgIh
+AL1Q3SAtogxxJh61qIk9/9R+0n1xQ+xxPkq81uid+l8cMA0GCSqGSIb3DQEBCwUA
+A4IBAQADxwr9oAA5hCyqqzcmqgk0fk6wv3r/hzki+mZ/CjiIN9HdcOP5rP+B29Xu
+WvN+8j/nIOuwGg1vI/vQn3XUg/ICsaVDTqnN6FiK6+08Vp1A90j0hhExFMWWNIbA
+OIE/KYHnqpu0jFBKRA7XhRAXCyl1JGbfhxdHJHt2oZ9RKB85b9NogUB4II9A2rE2
+BUyS4fpUAFWJOWrkvc6uV2gWfMfr85L6rnpBl6xBuEr/9zOK87jjiqyq86MBTvPu
+6Pyd0m0OA9fiP/8XzrdOtmUX0yXxCpUzT7VzW/85oFU8HG1dbfu0QqGmYgYKEgwe
+r8US8fgeAoSkCQJmQC6z8/PRtkI0
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFFjCCAv6gAwIBAgIRAJErCErPDBinU/bWLiWnX1owDQYJKoZIhvcNAQELBQAw
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMjAwOTA0MDAwMDAw
+WhcNMjUwOTE1MTYwMDAwWjAyMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
+RW5jcnlwdDELMAkGA1UEAxMCUjMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQC7AhUozPaglNMPEuyNVZLD+ILxmaZ6QoinXSaqtSu5xUyxr45r+XXIo9cP
+R5QUVTVXjJ6oojkZ9YI8QqlObvU7wy7bjcCwXPNZOOftz2nwWgsbvsCUJCWH+jdx
+sxPnHKzhm+/b5DtFUkWWqcFTzjTIUu61ru2P3mBw4qVUq7ZtDpelQDRrK9O8Zutm
+NHz6a4uPVymZ+DAXXbpyb/uBxa3Shlg9F8fnCbvxK/eG3MHacV3URuPMrSXBiLxg
+Z3Vms/EY96Jc5lP/Ooi2R6X/ExjqmAl3P51T+c8B5fWmcBcUr2Ok/5mzk53cU6cG
+/kiFHaFpriV1uxPMUgP17VGhi9sVAgMBAAGjggEIMIIBBDAOBgNVHQ8BAf8EBAMC
+AYYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMBIGA1UdEwEB/wQIMAYB
+Af8CAQAwHQYDVR0OBBYEFBQusxe3WFbLrlAJQOYfr52LFMLGMB8GA1UdIwQYMBaA
+FHm0WeZ7tuXkAXOACIjIGlj26ZtuMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcw
+AoYWaHR0cDovL3gxLmkubGVuY3Iub3JnLzAnBgNVHR8EIDAeMBygGqAYhhZodHRw
+Oi8veDEuYy5sZW5jci5vcmcvMCIGA1UdIAQbMBkwCAYGZ4EMAQIBMA0GCysGAQQB
+gt8TAQEBMA0GCSqGSIb3DQEBCwUAA4ICAQCFyk5HPqP3hUSFvNVneLKYY611TR6W
+PTNlclQtgaDqw+34IL9fzLdwALduO/ZelN7kIJ+m74uyA+eitRY8kc607TkC53wl
+ikfmZW4/RvTZ8M6UK+5UzhK8jCdLuMGYL6KvzXGRSgi3yLgjewQtCPkIVz6D2QQz
+CkcheAmCJ8MqyJu5zlzyZMjAvnnAT45tRAxekrsu94sQ4egdRCnbWSDtY7kh+BIm
+lJNXoB1lBMEKIq4QDUOXoRgffuDghje1WrG9ML+Hbisq/yFOGwXD9RiX8F6sw6W4
+avAuvDszue5L3sz85K+EC4Y/wFVDNvZo4TYXao6Z0f+lQKc0t8DQYzk1OXVu8rp2
+yJMC6alLbBfODALZvYH7n7do1AZls4I9d1P4jnkDrQoxB3UqQ9hVl3LEKQ73xF1O
+yK5GhDDX8oVfGKF5u+decIsH4YaTw7mP3GFxJSqv3+0lUFJoi5Lc5da149p90Ids
+hCExroL1+7mryIkXPeFM5TgO9r0rvZaBFOvV2z0gp35Z0+L4WPlbuEjN/lxPFin+
+HlUjr8gRsI3qfJOQFy/9rKIJR0Y/8Omwt/8oTWgy1mdeHmmjk7j1nYsvC9JSQ6Zv
+MldlTTKB3zhThV1+XWYp6rjd5JW1zbVWEkLNxE7GJThEUG3szgBVGP7pSWTUTsqX
+nLRbwHOoq7hHwg==
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIFYDCCBEigAwIBAgIQQAF3ITfU6UK47naqPGQKtzANBgkqhkiG9w0BAQsFADA/
+MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT
+DkRTVCBSb290IENBIFgzMB4XDTIxMDEyMDE5MTQwM1oXDTI0MDkzMDE4MTQwM1ow
+TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
+cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQCt6CRz9BQ385ueK1coHIe+3LffOJCMbjzmV6B493XC
+ov71am72AE8o295ohmxEk7axY/0UEmu/H9LqMZshftEzPLpI9d1537O4/xLxIZpL
+wYqGcWlKZmZsj348cL+tKSIG8+TA5oCu4kuPt5l+lAOf00eXfJlII1PoOK5PCm+D
+LtFJV4yAdLbaL9A4jXsDcCEbdfIwPPqPrt3aY6vrFk/CjhFLfs8L6P+1dy70sntK
+4EwSJQxwjQMpoOFTJOwT2e4ZvxCzSow/iaNhUd6shweU9GNx7C7ib1uYgeGJXDR5
+bHbvO5BieebbpJovJsXQEOEO3tkQjhb7t/eo98flAgeYjzYIlefiN5YNNnWe+w5y
+sR2bvAP5SQXYgd0FtCrWQemsAXaVCg/Y39W9Eh81LygXbNKYwagJZHduRze6zqxZ
+Xmidf3LWicUGQSk+WT7dJvUkyRGnWqNMQB9GoZm1pzpRboY7nn1ypxIFeFntPlF4
+FQsDj43QLwWyPntKHEtzBRL8xurgUBN8Q5N0s8p0544fAQjQMNRbcTa0B7rBMDBc
+SLeCO5imfWCKoqMpgsy6vYMEG6KDA0Gh1gXxG8K28Kh8hjtGqEgqiNx2mna/H2ql
+PRmP6zjzZN7IKw0KKP/32+IVQtQi0Cdd4Xn+GOdwiK1O5tmLOsbdJ1Fu/7xk9TND
+TwIDAQABo4IBRjCCAUIwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw
+SwYIKwYBBQUHAQEEPzA9MDsGCCsGAQUFBzAChi9odHRwOi8vYXBwcy5pZGVudHJ1
+c3QuY29tL3Jvb3RzL2RzdHJvb3RjYXgzLnA3YzAfBgNVHSMEGDAWgBTEp7Gkeyxx
++tvhS5B1/8QVYIWJEDBUBgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEB
+ATAwMC4GCCsGAQUFBwIBFiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQu
+b3JnMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly9jcmwuaWRlbnRydXN0LmNvbS9E
+U1RST09UQ0FYM0NSTC5jcmwwHQYDVR0OBBYEFHm0WeZ7tuXkAXOACIjIGlj26Ztu
+MA0GCSqGSIb3DQEBCwUAA4IBAQAKcwBslm7/DlLQrt2M51oGrS+o44+/yQoDFVDC
+5WxCu2+b9LRPwkSICHXM6webFGJueN7sJ7o5XPWioW5WlHAQU7G75K/QosMrAdSW
+9MUgNTP52GE24HGNtLi1qoJFlcDyqSMo59ahy2cI2qBDLKobkx/J3vWraV0T9VuG
+WCLKTVXkcGdtwlfFRjlBz4pYg1htmf5X6DYO8A4jqv2Il9DjXA6USbW1FzXSLr9O
+he8Y4IWS6wY7bCkjCWDcRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC
+Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5
+-----END CERTIFICATE-----
\ No newline at end of file
diff --git a/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-key.pem b/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-key.pem
new file mode 100644
index 0000000000..f5c34a737f
--- /dev/null
+++ b/fda-authentication-service/rest-service/src/main/resources/x509/dev-ossdip-at-key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCmvl9NZd4qV53j
+8U1irMwR0RXR2tl0i3FqXUxGYUHabIADLciAzl83vFnPMmJFeubnDBGfkP2Z7Q+9
+6fgwuxhXVVovT4uCwNcUGW66LzwemYJKnauy6muPooyllLO/mHAehhtdber7H9dw
+j8gdTjIDGRgw/owElsMGYOt1XxXRpnmh6QzvprT38Lt7OTfRlvlz//p0PoYzfeI2
+95fSGuIAl2rVAOQJq/n/Nl3dbTQ4KdLn0raf5am1ah+S904br34JFyDfziswLGNR
+Q4SuYxFUXmfyV8TsxmJeRRfBa6JFofbAsuvzJ/TcJDiaLcsWjbWzKQTz8tWhTA1U
+5McU0sLTAgMBAAECggEALFYeXSQjCLs3Xm7BFuW/dVVVKfG5NIYHaDLanzQpIH0N
+JMs9rxIwu083yiIpgzQExZat8PHKnO0t7F+UANEezcoCKuZJwECqb8u7Z4I7yB8l
+R9XY27/9Tbn5D+YUTXOpDFS4XgVmH9P9ow54NWKfZbd8eTqV3HqB7OZEdXcNBCuD
+1RPpEB+UJx+7HMfqRfyjSF0fKOEPjq2aBw3DfYuwiU2O/L9n5KftU05AQA8FTGe+
+gOnnGjEIPvwykspB8pgKri9TB3RAs22mrho1L7j3ThEBa+sauvUWsKG72WjHjzKJ
+07WGa28uW2qhXxGZD5aAbOmLHHV2d9F81OpeRnM7kQKBgQDZO9cBdO2lvGVsnAVi
+O0G1gSficX/jFUEKb15EzvyEuEElCFcIOWZgvmn+9Zr4TAJLzgSUgGTlREvLM4Zf
+mh2RR2fXRMbmPiI+37+E/841Aa5b/pfJj4kolz2Y3FmlrztPTlPkx8kFckdW4HSH
+WHM3VlIfWSWdGQye8EuPC5+mXQKBgQDEf+4M8q16q4SxnX2Yci46cZbnS98n7QG/
+HnuVElmnodxV7OOc773x7/nyoW8j3hhD9GWQkPjQMbT5c8pMix5+/AG2vvjtzhJW
+klnYz7iw2k6+OY1oMSPu+f/wBpXOhJCniAFjPJCXwpSA+h0KuaxfOhxxOZl++E8c
+gEmbc1Ua7wKBgQChBt6F0esnY9O7ApxrCInYxXiPPpsR9XtVBODYGKbOqtZ/YQNC
+sWnWZM+lkuHhFFbPYlO60MH5wPp+Eh+VVmR8gHXU+MKHgZ9ZA/qv1/8/A5P/1WUm
+oCOH1zRtz0kUrCRG0UUW3ZGBXAjNuWwnt8UQTAhr/GUJYrwcRPt9eZxKcQKBgQDE
+P3RTUCd8RULQVRczoo2S5xEsTbVA3c8Jvnr0hhAugFRbKKymdzXAJMj/zsT+EHkx
+nSu2d2NYIty46jDXw3WgozVe+1oHvvDHr4C2LbcqQc205CvbLIDT0rEPWrRRPkpu
+V0Hzh3BtcPL54VIR/SAvNw1i84Des0XnlCRvcX9E1wKBgQC8DgYnsMEGFpVBp1xT
+0ER0XSq5njl6vAoUCkw3jN+dkWxYjI9sWQtP5pyrE0kWDG8h9/mbRG5rTFK7PzK6
+Vilqp7hws3NuKec3uRBtoeZI2wIBVfBihTLM7AhUROsrbf2ocP1jfEvl7yd49UYI
+i/dStaqfpozr864eytU8Pzct3g==
+-----END PRIVATE KEY-----
\ No newline at end of file
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/config/SamlConfig.java b/fda-authentication-service/services/src/main/java/at/tuwien/config/SamlConfig.java
index a1c2074c98..91f12bed3d 100644
--- a/fda-authentication-service/services/src/main/java/at/tuwien/config/SamlConfig.java
+++ b/fda-authentication-service/services/src/main/java/at/tuwien/config/SamlConfig.java
@@ -1,15 +1,15 @@
 package at.tuwien.config;
 
-import at.tuwien.service.UserService;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
 import org.apache.velocity.app.VelocityEngine;
-import org.opensaml.saml2.metadata.provider.*;
+import org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider;
+import org.opensaml.saml2.metadata.provider.MetadataProvider;
+import org.opensaml.saml2.metadata.provider.MetadataProviderException;
 import org.opensaml.xml.parse.ParserPool;
 import org.opensaml.xml.parse.StaticBasicParserPool;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -48,42 +48,26 @@ import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 import java.io.File;
 import java.util.*;
 
-/**
- *
- */
 @Configuration
 @EnableWebSecurity
 @EnableGlobalMethodSecurity(securedEnabled = true)
 public class SamlConfig extends WebSecurityConfigurerAdapter implements InitializingBean, DisposableBean {
 
-    private final UserService userService;
-
     private Timer backgroundTaskTimer;
     private MultiThreadedHttpConnectionManager multiThreadedHttpConnectionManager;
 
-    @Autowired
-    public SamlConfig(UserService userService) {
-        this.userService = userService;
-    }
+    @Value("${spring.security.saml2.metadata}")
+    private String serviceMetadataPath;
 
-    @Value("${fda.saml.keystore.location}")
+    @Value("${server.ssl.key-store}")
     private String samlKeystoreLocation;
 
-    @Value("${fda.saml.keystore.alias}")
+    @Value("${server.ssl.key-alias}")
     private String samlKeystoreAlias;
 
-    @Value("${fda.saml.keystore.password}")
+    @Value("${server.ssl.key-store-password}")
     private String samlKeystorePassword;
 
-    @Value("${fda.identity.provider.metadata}")
-    private String identityProviderMetadataPath;
-
-    @Value("${fda.identity.provider.discovery.url}")
-    private String identityProviderDiscoveryUrl;
-
-    @Value("${fda.identity.provider.discovery.response}")
-    private String identityProviderDiscoveryResponseUrl;
-
     /* The filter is waiting for connections on URL suffixed with filterSuffix and presents SP metadata there */
     @Bean
     public MetadataDisplayFilter metadataDisplayFilter() {
@@ -121,7 +105,7 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
     /* Processing filter for WebSSO profile messages */
     @Bean
     public SAMLProcessingFilter samlWebSSOProcessingFilter() throws Exception {
-        SAMLProcessingFilter samlWebSSOProcessingFilter = new SAMLProcessingFilter();
+        final SAMLProcessingFilter samlWebSSOProcessingFilter = new SAMLProcessingFilter();
         samlWebSSOProcessingFilter.setAuthenticationManager(authenticationManager());
         samlWebSSOProcessingFilter.setAuthenticationSuccessHandler(successRedirectHandler());
         samlWebSSOProcessingFilter.setAuthenticationFailureHandler(authenticationFailureHandler());
@@ -151,8 +135,7 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
         return logoutHandler;
     }
 
-    /* Filter processing incoming logout messages. First argument determines URL user will be redirected to after
-    successful global logout */
+    /* Filter processing incoming logout messages */
     @Bean
     public SAMLLogoutProcessingFilter samlLogoutProcessingFilter() {
         return new SAMLLogoutProcessingFilter(successLogoutHandler(),
@@ -217,39 +200,24 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
         return new SAMLProcessorImpl(bindings);
     }
 
-    /**
-     * Define the security filter chain in order to support SSO Auth by using SAML 2.0
-     *
-     * @return Filter chain proxy
-     * @throws Exception
-     */
+    /* Define the security filter chain in order to support SSO Auth by using SAML 2.0 */
     @Bean
     public FilterChainProxy samlFilter() throws Exception {
         List<SecurityFilterChain> chains = new ArrayList<>();
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/login/**"),
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/SSO/**"),
+                samlWebSSOProcessingFilter()));
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/discovery/**"),
+                samlDiscovery()));
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/login/**"),
                 samlEntryPoint()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/logout/**"),
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/logout/**"),
                 samlLogoutFilter()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/metadata/**"),
-                metadataDisplayFilter()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/SSO/**"),
-                samlWebSSOProcessingFilter()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/SSOHoK/**"),
-                samlWebSSOHoKProcessingFilter()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/SingleLogout/**"),
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/SingleLogout/**"),
                 samlLogoutProcessingFilter()));
-        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/context/saml/discovery/**"),
-                samlDiscovery()));
         return new FilterChainProxy(chains);
     }
 
-    /**
-     * Returns the authentication manager currently used by Spring.
-     * It represents a bean definition with the aim allow wiring from
-     * other classes performing the Inversion of Control (IoC).
-     *
-     * @throws Exception
-     */
+    /* Returns the authentication manager currently used by Spring. */
     @Bean
     @Override
     public AuthenticationManager authenticationManagerBean() throws Exception {
@@ -258,9 +226,6 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
 
     /**
      * Defines the web based security configuration.
-     *
-     * @param http It allows configuring web based security for specific http requests.
-     * @throws Exception
      */
     @Override
     protected void configure(HttpSecurity http) throws Exception {
@@ -282,9 +247,6 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
 
     /**
      * Sets a custom authentication provider.
-     *
-     * @param auth SecurityBuilder used to create an AuthenticationManager.
-     * @throws Exception
      */
     @Override
     protected void configure(AuthenticationManagerBuilder auth) throws Exception {
@@ -326,7 +288,7 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
     @Qualifier("idp-ssocircle")
     public ExtendedMetadataDelegate ssoCircleExtendedMetadataProvider() throws MetadataProviderException {
         final FilesystemMetadataProvider filesystemMetadataProvider = new FilesystemMetadataProvider(
-                new File(identityProviderMetadataPath));
+                new File(serviceMetadataPath));
         filesystemMetadataProvider.setParserPool(parserPool());
         final ExtendedMetadataDelegate extendedMetadataDelegate = new ExtendedMetadataDelegate(filesystemMetadataProvider,
                 extendedMetadata());
@@ -338,10 +300,8 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
 
     /* IDP Discovery Service */
     @Bean
-    public SAMLDiscovery samlDiscovery() {
-        SAMLDiscovery idpDiscovery = new SAMLDiscovery();
-        idpDiscovery.setIdpSelectionPath("/api/auth/discovery");
-        return idpDiscovery;
+    public SAMLDiscovery samlDiscovery() throws MetadataProviderException {
+        return new SAMLDiscovery();
     }
 
     /* Setup advanced info about metadata */
@@ -350,8 +310,6 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
         ExtendedMetadata extendedMetadata = new ExtendedMetadata();
         extendedMetadata.setLocal(true);
         extendedMetadata.setIdpDiscoveryEnabled(true);
-        extendedMetadata.setIdpDiscoveryURL(identityProviderDiscoveryUrl);
-        extendedMetadata.setIdpDiscoveryResponseURL(identityProviderDiscoveryResponseUrl);
         extendedMetadata.setSignMetadata(true);
         extendedMetadata.setEcpEnabled(true);
         return extendedMetadata;
@@ -360,23 +318,23 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
     /* Entry point to initialize authentication, default values taken from properties file */
     @Bean
     public SAMLEntryPoint samlEntryPoint() {
-        SAMLEntryPoint samlEntryPoint = new SAMLEntryPoint();
+        final SAMLEntryPoint samlEntryPoint = new SAMLEntryPoint();
         samlEntryPoint.setDefaultProfileOptions(defaultWebSSOProfileOptions());
         return samlEntryPoint;
     }
 
     @Bean
     public WebSSOProfileOptions defaultWebSSOProfileOptions() {
-        WebSSOProfileOptions webSSOProfileOptions = new WebSSOProfileOptions();
+        final WebSSOProfileOptions webSSOProfileOptions = new WebSSOProfileOptions();
         webSSOProfileOptions.setIncludeScoping(false);
         return webSSOProfileOptions;
     }
 
     @Bean
     public KeyManager keyManager() {
-        DefaultResourceLoader loader = new DefaultResourceLoader();
-        Resource storeFile = loader.getResource(samlKeystoreLocation);
-        Map<String, String> passwords = new HashMap<>();
+        final DefaultResourceLoader loader = new DefaultResourceLoader();
+        final Resource storeFile = loader.getResource(samlKeystoreLocation);
+        final Map<String, String> passwords = new HashMap<>();
         passwords.put(samlKeystoreAlias, samlKeystorePassword);
         return new JKSKeyManager(storeFile, samlKeystorePassword, passwords, samlKeystoreAlias);
     }
@@ -429,8 +387,8 @@ public class SamlConfig extends WebSecurityConfigurerAdapter implements Initiali
     /* SAML Authentication Provider responsible for validating of received SAML messages */
     @Bean
     public SAMLAuthenticationProvider samlAuthenticationProvider() {
-        SAMLAuthenticationProvider samlAuthenticationProvider = new SAMLAuthenticationProvider();
-        samlAuthenticationProvider.setUserDetails(userService);
+        final SAMLAuthenticationProvider samlAuthenticationProvider = new SAMLAuthenticationProvider();
+//        samlAuthenticationProvider.setUserDetails(userService);
         samlAuthenticationProvider.setForcePrincipalAsString(false);
         return samlAuthenticationProvider;
     }
diff --git a/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java b/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
deleted file mode 100644
index e59fd5da9e..0000000000
--- a/fda-authentication-service/services/src/main/java/at/tuwien/service/UserService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package at.tuwien.service;
-
-import lombok.extern.log4j.Log4j2;
-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.UsernameNotFoundException;
-import org.springframework.security.saml.SAMLCredential;
-import org.springframework.security.saml.userdetails.SAMLUserDetailsService;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Log4j2
-@Service
-public class UserService implements SAMLUserDetailsService {
-
-    @Override
-    public Object loadUserBySAML(SAMLCredential credential) throws UsernameNotFoundException {
-        final String userID = credential.getNameID().getValue();
-        log.debug("Logged in user {}", userID);
-        List<GrantedAuthority> authorities = new ArrayList<>();
-        GrantedAuthority authority = new SimpleGrantedAuthority("ROLE_USER");
-        authorities.add(authority);
-        return new User(userID, "<abc123>", true, true, true, true, authorities);
-    }
-
-}
diff --git a/fda-ui/components/.gitkeep b/fda-ui/components/.gitkeep
new file mode 100644
index 0000000000..e69de29bb2
-- 
GitLab