diff --git a/assembly/assembly-wsmaster-war/pom.xml b/assembly/assembly-wsmaster-war/pom.xml
index 0335e568f4..ec54260350 100644
--- a/assembly/assembly-wsmaster-war/pom.xml
+++ b/assembly/assembly-wsmaster-war/pom.xml
@@ -159,10 +159,6 @@
org.eclipse.che.core
che-core-api-workspace-activity
-
- org.eclipse.che.core
- che-core-commons-auth
-
org.eclipse.che.core
che-core-commons-inject
@@ -235,6 +231,10 @@
org.eclipse.che.infrastructure
infrastructure-openshift
+
+ org.eclipse.che.multiuser
+ che-multiuser-api-authentication-commons
+
org.eclipse.che.multiuser
che-multiuser-api-authorization
diff --git a/assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java b/assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java
index f289f7693f..aa4d12265b 100644
--- a/assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java
+++ b/assembly/assembly-wsmaster-war/src/main/java/org/eclipse/che/api/deploy/WsMasterModule.java
@@ -66,8 +66,6 @@ import org.eclipse.che.api.workspace.server.spi.provision.env.WorkspaceNameEnvVa
import org.eclipse.che.api.workspace.server.spi.provision.env.WorkspaceNamespaceNameEnvVarProvider;
import org.eclipse.che.api.workspace.server.token.MachineTokenProvider;
import org.eclipse.che.api.workspace.server.wsplugins.ChePluginsApplier;
-import org.eclipse.che.commons.auth.token.ChainedTokenExtractor;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.observability.deploy.ExecutorWrapperModule;
import org.eclipse.che.core.db.DBTermination;
import org.eclipse.che.core.db.schema.SchemaInitializer;
@@ -75,6 +73,8 @@ import org.eclipse.che.core.tracing.metrics.TracingMetricsModule;
import org.eclipse.che.inject.DynaModule;
import org.eclipse.che.mail.template.ST.STTemplateProcessorImpl;
import org.eclipse.che.mail.template.TemplateProcessor;
+import org.eclipse.che.multiuser.api.authentication.commons.token.ChainedTokenExtractor;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.eclipse.che.multiuser.api.permission.server.AdminPermissionInitializer;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
import org.eclipse.che.multiuser.api.permission.server.PermissionCheckerImpl;
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 50e928c6d1..a773bf9e2a 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -22,7 +22,7 @@
che-assembly-parent
pom
- Che IDE :: Parent
+ Che Assembly :: Parent
assembly-swagger-war
assembly-wsmaster-war
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationException.java b/core/che-core-api-core/src/main/java/org/eclipse/che/api/core/AuthenticationException.java
similarity index 94%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationException.java
rename to core/che-core-api-core/src/main/java/org/eclipse/che/api/core/AuthenticationException.java
index 3cb819e4be..13fb805744 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationException.java
+++ b/core/che-core-api-core/src/main/java/org/eclipse/che/api/core/AuthenticationException.java
@@ -9,9 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth;
-
-import org.eclipse.che.api.core.ApiException;
+package org.eclipse.che.api.core;
@SuppressWarnings("serial")
public class AuthenticationException extends ApiException {
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationExceptionMapper.java b/core/che-core-api-core/src/main/java/org/eclipse/che/api/core/rest/AuthenticationExceptionMapper.java
similarity index 93%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationExceptionMapper.java
rename to core/che-core-api-core/src/main/java/org/eclipse/che/api/core/rest/AuthenticationExceptionMapper.java
index 7b3883b424..1cbcbbd04b 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/AuthenticationExceptionMapper.java
+++ b/core/che-core-api-core/src/main/java/org/eclipse/che/api/core/rest/AuthenticationExceptionMapper.java
@@ -9,13 +9,14 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth;
+package org.eclipse.che.api.core.rest;
import javax.inject.Singleton;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
+import org.eclipse.che.api.core.AuthenticationException;
import org.eclipse.che.dto.server.DtoFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/core/commons/che-core-commons-auth/pom.xml b/core/commons/che-core-commons-auth/pom.xml
deleted file mode 100644
index af004adb47..0000000000
--- a/core/commons/che-core-commons-auth/pom.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
- 4.0.0
-
- che-core-commons-parent
- org.eclipse.che.core
- 7.6.0-SNAPSHOT
-
- che-core-commons-auth
- jar
- Che Core :: Commons :: Auth
-
-
- javax.inject
- javax.inject
-
-
- javax.ws.rs
- javax.ws.rs-api
-
-
- org.eclipse.che.core
- che-core-api-core
-
-
- org.eclipse.che.core
- che-core-api-dto
-
-
- org.slf4j
- slf4j-api
-
-
- javax.servlet
- javax.servlet-api
- provided
-
-
-
diff --git a/core/commons/pom.xml b/core/commons/pom.xml
index ffd9473df7..aed62be22e 100644
--- a/core/commons/pom.xml
+++ b/core/commons/pom.xml
@@ -25,7 +25,6 @@
Che Core :: Commons :: Parent
che-core-commons-annotations
- che-core-commons-auth
che-core-commons-lang
che-core-commons-logback
che-core-commons-inject
diff --git a/multiuser/api/che-multiuser-api-authentication-commons/pom.xml b/multiuser/api/che-multiuser-api-authentication-commons/pom.xml
index 0c3dced28d..bc4b92a113 100644
--- a/multiuser/api/che-multiuser-api-authentication-commons/pom.xml
+++ b/multiuser/api/che-multiuser-api-authentication-commons/pom.xml
@@ -36,12 +36,12 @@
javax.servlet-api
- org.eclipse.che.core
- che-core-api-core
+ javax.ws.rs
+ javax.ws.rs-api
org.eclipse.che.core
- che-core-commons-auth
+ che-core-api-core
org.slf4j
diff --git a/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java
index d6bf51437a..eff69e3882 100644
--- a/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilter.java
@@ -23,11 +23,11 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
import org.eclipse.che.multiuser.api.authentication.commons.SubjectHttpRequestWrapper;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
/**
* Performs basic environment initialization actions as follows:
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/ChainedTokenExtractor.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/ChainedTokenExtractor.java
similarity index 94%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/ChainedTokenExtractor.java
rename to multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/ChainedTokenExtractor.java
index 0c7f65e9db..d7e81c8754 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/ChainedTokenExtractor.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/ChainedTokenExtractor.java
@@ -9,7 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth.token;
+package org.eclipse.che.multiuser.api.authentication.commons.token;
import javax.servlet.http.HttpServletRequest;
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/HeaderRequestTokenExtractor.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/HeaderRequestTokenExtractor.java
similarity index 93%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/HeaderRequestTokenExtractor.java
rename to multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/HeaderRequestTokenExtractor.java
index 757fe80cb8..036e6573c4 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/HeaderRequestTokenExtractor.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/HeaderRequestTokenExtractor.java
@@ -9,7 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth.token;
+package org.eclipse.che.multiuser.api.authentication.commons.token;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.HttpHeaders;
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/QueryRequestTokenExtractor.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/QueryRequestTokenExtractor.java
similarity index 93%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/QueryRequestTokenExtractor.java
rename to multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/QueryRequestTokenExtractor.java
index 99e2e0407a..e29b518423 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/QueryRequestTokenExtractor.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/QueryRequestTokenExtractor.java
@@ -9,7 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth.token;
+package org.eclipse.che.multiuser.api.authentication.commons.token;
import javax.servlet.http.HttpServletRequest;
diff --git a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/RequestTokenExtractor.java b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/RequestTokenExtractor.java
similarity index 90%
rename from core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/RequestTokenExtractor.java
rename to multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/RequestTokenExtractor.java
index ebc4f2b451..5a28457b13 100644
--- a/core/commons/che-core-commons-auth/src/main/java/org/eclipse/che/commons/auth/token/RequestTokenExtractor.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/main/java/org/eclipse/che/multiuser/api/authentication/commons/token/RequestTokenExtractor.java
@@ -9,7 +9,7 @@
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
-package org.eclipse.che.commons.auth.token;
+package org.eclipse.che.multiuser.api.authentication.commons.token;
import javax.servlet.http.HttpServletRequest;
diff --git a/multiuser/api/che-multiuser-api-authentication-commons/src/test/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilterTest.java b/multiuser/api/che-multiuser-api-authentication-commons/src/test/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilterTest.java
index 5d39c3a0fa..c4ece187bb 100644
--- a/multiuser/api/che-multiuser-api-authentication-commons/src/test/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilterTest.java
+++ b/multiuser/api/che-multiuser-api-authentication-commons/src/test/java/org/eclipse/che/multiuser/api/authentication/commons/filter/MultiUserEnvironmentInitializationFilterTest.java
@@ -29,11 +29,11 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.mockito.Mock;
import org.mockito.testng.MockitoTestNGListener;
import org.testng.annotations.BeforeMethod;
diff --git a/multiuser/keycloak/che-multiuser-keycloak-server/pom.xml b/multiuser/keycloak/che-multiuser-keycloak-server/pom.xml
index 6ef95ed704..841ac23c02 100644
--- a/multiuser/keycloak/che-multiuser-keycloak-server/pom.xml
+++ b/multiuser/keycloak/che-multiuser-keycloak-server/pom.xml
@@ -106,10 +106,6 @@
org.eclipse.che.core
che-core-commons-annotations
-
- org.eclipse.che.core
- che-core-commons-auth
-
org.eclipse.che.core
che-core-commons-inject
diff --git a/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilter.java b/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilter.java
index 31a05ec0ac..a81803f23e 100644
--- a/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilter.java
+++ b/multiuser/keycloak/che-multiuser-keycloak-server/src/main/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilter.java
@@ -32,11 +32,11 @@ import org.eclipse.che.api.core.ConflictException;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.model.user.User;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
import org.eclipse.che.multiuser.api.authentication.commons.filter.MultiUserEnvironmentInitializationFilter;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.eclipse.che.multiuser.api.permission.server.AuthorizedSubject;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
diff --git a/multiuser/keycloak/che-multiuser-keycloak-server/src/test/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilterTest.java b/multiuser/keycloak/che-multiuser-keycloak-server/src/test/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilterTest.java
index 4f92805af2..22f423f523 100644
--- a/multiuser/keycloak/che-multiuser-keycloak-server/src/test/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilterTest.java
+++ b/multiuser/keycloak/che-multiuser-keycloak-server/src/test/java/org/eclipse/che/multiuser/keycloak/server/KeycloakEnvironmentInitializationFilterTest.java
@@ -41,11 +41,11 @@ import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.user.server.model.impl.UserImpl;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.env.EnvironmentContext;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.eclipse.che.multiuser.api.permission.server.AuthorizedSubject;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
import org.eclipse.che.multiuser.keycloak.shared.KeycloakConstants;
diff --git a/multiuser/machine-auth/che-multiuser-machine-authentication/pom.xml b/multiuser/machine-auth/che-multiuser-machine-authentication/pom.xml
index 256078192d..28158e4d4a 100644
--- a/multiuser/machine-auth/che-multiuser-machine-authentication/pom.xml
+++ b/multiuser/machine-auth/che-multiuser-machine-authentication/pom.xml
@@ -86,10 +86,6 @@
org.eclipse.che.core
che-core-api-workspace-shared
-
- org.eclipse.che.core
- che-core-commons-auth
-
org.eclipse.che.core
che-core-commons-lang
diff --git a/multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilter.java b/multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilter.java
index 8dfb37f771..38249d8823 100644
--- a/multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilter.java
+++ b/multiuser/machine-auth/che-multiuser-machine-authentication/src/main/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilter.java
@@ -31,11 +31,11 @@ import javax.servlet.ServletResponse;
import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.user.server.UserManager;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
import org.eclipse.che.multiuser.api.authentication.commons.filter.MultiUserEnvironmentInitializationFilter;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
/**
diff --git a/multiuser/machine-auth/che-multiuser-machine-authentication/src/test/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilterTest.java b/multiuser/machine-auth/che-multiuser-machine-authentication/src/test/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilterTest.java
index 19fff068bc..197c05d780 100644
--- a/multiuser/machine-auth/che-multiuser-machine-authentication/src/test/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilterTest.java
+++ b/multiuser/machine-auth/che-multiuser-machine-authentication/src/test/java/org/eclipse/che/multiuser/machine/authentication/server/MachineLoginFilterTest.java
@@ -39,10 +39,10 @@ import org.eclipse.che.api.core.NotFoundException;
import org.eclipse.che.api.core.ServerException;
import org.eclipse.che.api.core.model.user.User;
import org.eclipse.che.api.user.server.UserManager;
-import org.eclipse.che.commons.auth.token.RequestTokenExtractor;
import org.eclipse.che.commons.subject.Subject;
import org.eclipse.che.commons.subject.SubjectImpl;
import org.eclipse.che.multiuser.api.authentication.commons.SessionStore;
+import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor;
import org.eclipse.che.multiuser.api.permission.server.PermissionChecker;
import org.eclipse.che.multiuser.machine.authentication.server.signature.SignatureKeyManager;
import org.eclipse.che.multiuser.machine.authentication.shared.Constants;
diff --git a/pom.xml b/pom.xml
index c334fa6606..6acbba3640 100644
--- a/pom.xml
+++ b/pom.xml
@@ -362,11 +362,6 @@
che-core-commons-annotations
${che.version}
-
- org.eclipse.che.core
- che-core-commons-auth
- ${che.version}
-
org.eclipse.che.core
che-core-commons-inject