|
13 | 13 |
|
14 | 14 | import static com.google.inject.matcher.Matchers.subclassesOf;
|
15 | 15 | import static org.eclipse.che.inject.Matchers.names;
|
16 |
| -import static org.eclipse.che.multiuser.api.permission.server.SystemDomain.SYSTEM_DOMAIN_ACTIONS; |
| 16 | +// import static org.eclipse.che.multiuser.api.permission.server.SystemDomain.SYSTEM_DOMAIN_ACTIONS; |
17 | 17 |
|
18 |
| -import com.auth0.jwk.JwkProvider; |
19 | 18 | import com.google.inject.AbstractModule;
|
20 | 19 | import com.google.inject.TypeLiteral;
|
21 | 20 | import com.google.inject.assistedinject.FactoryModuleBuilder;
|
22 | 21 | import com.google.inject.multibindings.MapBinder;
|
23 | 22 | import com.google.inject.multibindings.Multibinder;
|
24 | 23 | import com.google.inject.name.Names;
|
25 |
| -import io.jsonwebtoken.JwtParser; |
26 |
| -import io.jsonwebtoken.SigningKeyResolver; |
27 | 24 | import java.util.HashMap;
|
28 | 25 | import java.util.Map;
|
29 | 26 | import org.eclipse.che.api.core.notification.RemoteSubscriptionStorage;
|
|
67 | 64 | import org.eclipse.che.api.workspace.server.WorkspaceStatusCache;
|
68 | 65 | import org.eclipse.che.api.workspace.server.devfile.DevfileModule;
|
69 | 66 | import org.eclipse.che.api.workspace.server.hc.ServersCheckerFactory;
|
| 67 | +import org.eclipse.che.api.workspace.server.jpa.WorkspaceJpaModule; |
70 | 68 | import org.eclipse.che.api.workspace.server.spi.provision.InternalEnvironmentProvisioner;
|
71 | 69 | import org.eclipse.che.api.workspace.server.spi.provision.MachineNameProvisioner;
|
72 | 70 | import org.eclipse.che.api.workspace.server.spi.provision.env.AgentAuthEnableEnvVarProvider;
|
|
82 | 80 | import org.eclipse.che.api.workspace.server.spi.provision.env.WorkspaceIdEnvVarProvider;
|
83 | 81 | import org.eclipse.che.api.workspace.server.spi.provision.env.WorkspaceNameEnvVarProvider;
|
84 | 82 | import org.eclipse.che.api.workspace.server.spi.provision.env.WorkspaceNamespaceNameEnvVarProvider;
|
| 83 | +import org.eclipse.che.api.workspace.server.token.MachineTokenProvider; |
85 | 84 | import org.eclipse.che.api.workspace.server.wsplugins.ChePluginsApplier;
|
86 | 85 | import org.eclipse.che.commons.observability.deploy.ExecutorWrapperModule;
|
87 | 86 | import org.eclipse.che.core.tracing.metrics.TracingMetricsModule;
|
88 | 87 | import org.eclipse.che.inject.DynaModule;
|
89 |
| -import org.eclipse.che.multiuser.api.authentication.commons.token.HeaderRequestTokenExtractor; |
90 |
| -import org.eclipse.che.multiuser.api.authentication.commons.token.RequestTokenExtractor; |
91 |
| -import org.eclipse.che.multiuser.api.permission.server.PermissionChecker; |
92 |
| -import org.eclipse.che.multiuser.api.permission.server.PermissionCheckerImpl; |
93 |
| -import org.eclipse.che.multiuser.api.workspace.activity.MultiUserWorkspaceActivityModule; |
94 |
| -import org.eclipse.che.multiuser.machine.authentication.server.MachineAuthModule; |
95 |
| -import org.eclipse.che.multiuser.oidc.OIDCInfo; |
96 |
| -import org.eclipse.che.multiuser.oidc.OIDCInfoProvider; |
97 |
| -import org.eclipse.che.multiuser.oidc.OIDCJwkProvider; |
98 |
| -import org.eclipse.che.multiuser.oidc.OIDCJwtParserProvider; |
99 |
| -import org.eclipse.che.multiuser.oidc.OIDCSigningKeyResolver; |
100 |
| -import org.eclipse.che.multiuser.permission.user.UserServicePermissionsFilter; |
101 | 88 | import org.eclipse.che.security.PBKDF2PasswordEncryptor;
|
102 | 89 | import org.eclipse.che.security.PasswordEncryptor;
|
103 | 90 | import org.eclipse.che.security.oauth.EmbeddedOAuthAPI;
|
|
108 | 95 | import org.eclipse.che.workspace.infrastructure.kubernetes.KubernetesInfrastructure;
|
109 | 96 | import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
|
110 | 97 | import org.eclipse.che.workspace.infrastructure.kubernetes.multiuser.oauth.KubernetesOidcProviderConfigFactory;
|
| 98 | +import org.eclipse.che.workspace.infrastructure.kubernetes.multiuser.oauth.RequestTokenExtractor; |
111 | 99 | import org.eclipse.che.workspace.infrastructure.kubernetes.server.secure.SecureServerExposer;
|
112 | 100 | import org.eclipse.che.workspace.infrastructure.kubernetes.server.secure.SecureServerExposerFactory;
|
113 | 101 | import org.eclipse.che.workspace.infrastructure.kubernetes.server.secure.jwtproxy.PassThroughProxySecureServerExposer;
|
|
120 | 108 | import org.eclipse.che.workspace.infrastructure.openshift.OpenShiftInfraModule;
|
121 | 109 | import org.eclipse.che.workspace.infrastructure.openshift.OpenShiftInfrastructure;
|
122 | 110 | import org.eclipse.che.workspace.infrastructure.openshift.environment.OpenShiftEnvironment;
|
| 111 | +import org.eclipse.che.workspace.infrastructure.openshift.multiuser.oauth.HeaderRequestTokenExtractor; |
123 | 112 | import org.eclipse.che.workspace.infrastructure.openshift.multiuser.oauth.KeycloakProviderConfigFactory;
|
124 | 113 | import org.eclipse.persistence.config.PersistenceUnitProperties;
|
125 | 114 |
|
@@ -349,60 +338,19 @@ private void configureMultiUserMode(
|
349 | 338 | PersistenceUnitProperties.EXCEPTION_HANDLER_CLASS,
|
350 | 339 | "org.eclipse.che.core.db.postgresql.jpa.eclipselink.PostgreSqlExceptionHandler");
|
351 | 340 |
|
352 |
| - install( |
353 |
| - new org.eclipse.che.multiuser.permission.workspace.server.WorkspaceApiPermissionsModule()); |
354 |
| - install( |
355 |
| - new org.eclipse.che.multiuser.permission.workspace.server.jpa |
356 |
| - .MultiuserWorkspaceJpaModule()); |
357 |
| - install(new MultiUserWorkspaceActivityModule()); |
358 |
| - install( |
359 |
| - new org.eclipse.che.multiuser.permission.devfile.server.jpa |
360 |
| - .MultiuserUserDevfileJpaModule()); |
361 |
| - install( |
362 |
| - new org.eclipse.che.multiuser.permission.devfile.server.UserDevfileApiPermissionsModule()); |
363 |
| - |
364 |
| - // Permission filters |
365 |
| - bind(org.eclipse.che.multiuser.permission.system.SystemServicePermissionsFilter.class); |
366 |
| - bind(org.eclipse.che.multiuser.permission.system.JvmServicePermissionsFilter.class); |
367 |
| - bind( |
368 |
| - org.eclipse.che.multiuser.permission.system.SystemEventsSubscriptionPermissionsCheck.class); |
369 |
| - |
370 |
| - Multibinder<String> binder = |
371 |
| - Multibinder.newSetBinder(binder(), String.class, Names.named(SYSTEM_DOMAIN_ACTIONS)); |
372 |
| - binder.addBinding().toInstance(UserServicePermissionsFilter.MANAGE_USERS_ACTION); |
373 |
| - bind(org.eclipse.che.multiuser.permission.user.UserProfileServicePermissionsFilter.class); |
374 |
| - bind(org.eclipse.che.multiuser.permission.user.UserServicePermissionsFilter.class); |
375 |
| - bind(org.eclipse.che.multiuser.permission.logger.LoggerServicePermissionsFilter.class); |
376 |
| - |
377 |
| - bind(org.eclipse.che.multiuser.permission.workspace.activity.ActivityPermissionsFilter.class); |
378 |
| - |
379 |
| - bind( |
380 |
| - org.eclipse.che.multiuser.permission.resource.filters.ResourceServicePermissionsFilter |
381 |
| - .class); |
382 |
| - bind( |
383 |
| - org.eclipse.che.multiuser.permission.resource.filters |
384 |
| - .FreeResourcesLimitServicePermissionsFilter.class); |
385 |
| - |
386 |
| - if (Boolean.parseBoolean(System.getenv("CHE_AUTH_NATIVEUSER"))) { |
387 |
| - bind(RequestTokenExtractor.class).to(HeaderRequestTokenExtractor.class); |
388 |
| - if (KubernetesInfrastructure.NAME.equals(infrastructure)) { |
389 |
| - bind(OIDCInfo.class).toProvider(OIDCInfoProvider.class).asEagerSingleton(); |
390 |
| - bind(SigningKeyResolver.class).to(OIDCSigningKeyResolver.class); |
391 |
| - bind(JwtParser.class).toProvider(OIDCJwtParserProvider.class); |
392 |
| - bind(JwkProvider.class).toProvider(OIDCJwkProvider.class); |
393 |
| - } |
394 |
| - bind(TokenValidator.class).to(NotImplementedTokenValidator.class); |
395 |
| - bind(ProfileDao.class).to(JpaProfileDao.class); |
396 |
| - bind(OAuthAPI.class).to(EmbeddedOAuthAPI.class).asEagerSingleton(); |
397 |
| - } |
| 341 | + bind(RequestTokenExtractor.class).to(HeaderRequestTokenExtractor.class); |
| 342 | + bind(ProfileDao.class).to(JpaProfileDao.class); |
| 343 | + bind(OAuthAPI.class).to(EmbeddedOAuthAPI.class).asEagerSingleton(); |
398 | 344 |
|
399 |
| - install(new MachineAuthModule()); |
| 345 | + install(new WorkspaceJpaModule()); |
| 346 | + bind(TokenValidator.class).to(NotImplementedTokenValidator.class); |
| 347 | + bind(MachineTokenProvider.class).to(MachineTokenProvider.EmptyMachineTokenProvider.class); |
400 | 348 |
|
401 | 349 | // User and profile - use profile from keycloak and other stuff is JPA
|
402 | 350 | bind(PasswordEncryptor.class).to(PBKDF2PasswordEncryptor.class);
|
403 | 351 | bind(UserDao.class).to(JpaUserDao.class);
|
404 | 352 | bind(PreferenceDao.class).to(JpaPreferenceDao.class);
|
405 |
| - bind(PermissionChecker.class).to(PermissionCheckerImpl.class); |
| 353 | + // bind(PermissionChecker.class).to(PermissionCheckerImpl.class); |
406 | 354 |
|
407 | 355 | bindConstant().annotatedWith(Names.named("che.agents.auth_enabled")).to(true);
|
408 | 356 | }
|
|
0 commit comments