diff --git a/goofy-client/libs/environment-shared/test/environment.ts b/goofy-client/libs/environment-shared/test/environment.ts
index de6f7afa9c05d1b4b7577459f64c99f065cfd1f4..cc2087783f95d60e5737c1f0c0e6d424d8936342 100644
--- a/goofy-client/libs/environment-shared/test/environment.ts
+++ b/goofy-client/libs/environment-shared/test/environment.ts
@@ -6,7 +6,9 @@ const baseUrl = faker.internet.url();
 
 const environment: Environment = {
 	production: false,
-	remoteHost: baseUrl
+	remoteHost: baseUrl,
+	authServier: faker.internet.url(),
+	realm: faker.random.word()
 };
 
 export function createEnvironment(): Environment {
diff --git a/goofy-server/pom.xml b/goofy-server/pom.xml
index 6777f34adce610fa06b2a876a1df4f26a6c6fb2d..5c52ccbdeb9f770958792394ca4ec0937cc25fba 100644
--- a/goofy-server/pom.xml
+++ b/goofy-server/pom.xml
@@ -52,6 +52,11 @@
 			<groupId>de.codecentric</groupId>
 			<artifactId>spring-boot-admin-starter-client</artifactId>
 		</dependency>
+		
+ 		<dependency> 
+ 			<groupId>org.springframework.boot</groupId> -->
+ 			<artifactId>spring-boot-starter-security</artifactId> -->
+ 		</dependency> 
 		<dependency>
 		    <groupId>org.keycloak</groupId>
 		    <artifactId>keycloak-spring-boot-starter</artifactId>
@@ -92,6 +97,11 @@
 				</exclusion>
 			</exclusions>
 		</dependency>
+		<dependency>
+			<groupId>org.springframework.security</groupId>
+			<artifactId>spring-security-test</artifactId>
+			<scope>test</scope>
+		</dependency>
 		<dependency>
 			<groupId>org.junit.jupiter</groupId>
 			<artifactId>junit-jupiter-engine</artifactId>
@@ -118,18 +128,6 @@
 		</dependency>
 	</dependencies>
 	
-	<dependencyManagement>
-	    <dependencies>
-	        <dependency>
-	            <groupId>org.keycloak.bom</groupId>
-	            <artifactId>keycloak-adapter-bom</artifactId>
-	            <version>12.0.2</version>
-	            <type>pom</type>
-	            <scope>import</scope>
-	        </dependency>
-	    </dependencies>
-	</dependencyManagement>
-
 	<build>
 		<finalName>${project.artifactId}</finalName>
 		<plugins>
diff --git a/goofy-server/src/main/java/de/itvsh/goofy/SecurityConfiguration.java b/goofy-server/src/main/java/de/itvsh/goofy/SecurityConfiguration.java
new file mode 100644
index 0000000000000000000000000000000000000000..4fdc348155340e68ada54f504af2c0fc2520c348
--- /dev/null
+++ b/goofy-server/src/main/java/de/itvsh/goofy/SecurityConfiguration.java
@@ -0,0 +1,39 @@
+package de.itvsh.goofy;
+
+import org.keycloak.adapters.KeycloakConfigResolver;
+import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
+import org.keycloak.adapters.springsecurity.KeycloakConfiguration;
+import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter;
+import org.springframework.context.annotation.Bean;
+import org.springframework.http.HttpMethod;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.http.SessionCreationPolicy;
+import org.springframework.security.web.authentication.session.NullAuthenticatedSessionStrategy;
+import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy;
+
+@KeycloakConfiguration
+public class SecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter {
+
+	@Override
+	protected void configure(HttpSecurity http) throws Exception {
+		super.configure(http);
+		http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) //
+				.and().authorizeRequests()//
+				.antMatchers(HttpMethod.GET, "/api/environment").permitAll()//
+				.antMatchers(HttpMethod.GET, "/assets/**").permitAll()//
+				.antMatchers("/api").authenticated()//
+				.antMatchers("/api/**").authenticated()//
+				.anyRequest().denyAll();
+	}
+
+	@Bean
+	public KeycloakConfigResolver keyCloakConfigResolver() {
+		return new KeycloakSpringBootConfigResolver();
+	}
+
+	@Override
+	protected SessionAuthenticationStrategy sessionAuthenticationStrategy() {
+		return new NullAuthenticatedSessionStrategy();
+	}
+
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ac70c5ce84c98e92387741f8ca3d693f446e3b6a..8620ce3de24feddb760b092dcfa7fd347fb0b069 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,7 @@
 	<properties>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<java.version>11</java.version>
+		<java.version>15</java.version>
 
 		<spring.boot.version>2.4.2</spring.boot.version>
 
@@ -45,6 +45,14 @@
 				<type>pom</type>
 				<scope>import</scope>
 			</dependency>
+			<!-- keycloak -->
+	        <dependency>
+	            <groupId>org.keycloak.bom</groupId>
+	            <artifactId>keycloak-adapter-bom</artifactId>
+	            <version>12.0.2</version>
+	            <type>pom</type>
+	            <scope>import</scope>
+	        </dependency>
 
 			<dependency>
 				<groupId>de.codecentric</groupId>