.
This commit is contained in:
parent
059f6cc980
commit
3e5ca28b21
4 changed files with 48 additions and 6 deletions
|
|
@ -13,6 +13,7 @@ import javax.servlet.ServletException;
|
|||
public class BackendApiApplication extends SpringBootServletInitializer {
|
||||
|
||||
public static void main(String[] args) {
|
||||
setKeycloakConfigFile();
|
||||
SpringApplication app = new SpringApplication(BackendApiApplication.class);
|
||||
app.run(args);
|
||||
}
|
||||
|
|
@ -24,6 +25,7 @@ public class BackendApiApplication extends SpringBootServletInitializer {
|
|||
|
||||
@Override
|
||||
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
|
||||
setKeycloakConfigFile();
|
||||
// springApplicationBuilder.initializers(DfaConfig.get().getLoggingInitializer());
|
||||
return builder.sources(BackendApiApplication.class);
|
||||
}
|
||||
|
|
@ -33,4 +35,10 @@ public class BackendApiApplication extends SpringBootServletInitializer {
|
|||
return super.run(application);
|
||||
}
|
||||
|
||||
/**
|
||||
* чтобы переместить настройки keycloak в keycloak.json вместо application.properties
|
||||
*/
|
||||
private static void setKeycloakConfigFile() {
|
||||
System.setProperty("keycloak.configurationFile", "classpath:keycloak.json");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
package ru.spcex.clearing.backendapi.security;
|
||||
|
||||
import org.keycloak.adapters.KeycloakConfigResolver;
|
||||
import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
|
||||
import org.keycloak.adapters.springsecurity.KeycloakConfiguration;
|
||||
import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider;
|
||||
import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
|
|
@ -30,9 +30,14 @@ public class WebSecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
|
|||
authManagerBuilder.authenticationProvider(keycloakAuthenticationProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* чтобы переместить настройки keycloak в keycloak.json вместо application.properties
|
||||
* если будут проблемы, реализовать {@link KeycloakConfigResolver} считывая JSON из keycloak.json
|
||||
*/
|
||||
@Primary
|
||||
@Bean
|
||||
public KeycloakConfigResolver keycloakConfigResolver() {
|
||||
return new KeycloakSpringBootConfigResolver();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@ spring.main.web-application-type=servlet
|
|||
logging.level.root=warn
|
||||
|
||||
#keycloak
|
||||
keycloak.auth-server-url=http://10.200.200.147:8080/
|
||||
keycloak.realm=master
|
||||
keycloak.resource=clearing
|
||||
keycloak.public-client=true
|
||||
#keycloak.auth-server-url=http://10.200.200.147:8080/
|
||||
#keycloak.realm=master
|
||||
#keycloak.resource=clearing
|
||||
#keycloak.public-client=true
|
||||
#keycloak.credentials.secret=WnOVCxcAmrUYc8IjiFHOuRif5Oesoyfr
|
||||
#keycloak.security-constraints[0].authRoles[0]=admin
|
||||
#keycloak.security-constraints[0].securityCollections[0].patterns[0]=/backend-api/users/*
|
||||
|
|
|
|||
29
clearing-parent/backend-api/src/main/resources/keycloak.json
Normal file
29
clearing-parent/backend-api/src/main/resources/keycloak.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"realm" : "master",
|
||||
"resource" : "clearing",
|
||||
"auth-server-url" : "http://10.200.200.147:8080",
|
||||
"ssl-required" : "none",
|
||||
"use-resource-role-mappings" : false,
|
||||
"enable-cors" : true,
|
||||
"cors-max-age" : 1000,
|
||||
"cors-allowed-methods" : "POST, PUT, DELETE, GET",
|
||||
"cors-exposed-headers" : "WWW-Authenticate, My-custom-exposed-Header",
|
||||
"bearer-only" : false,
|
||||
"enable-basic-auth" : false,
|
||||
"expose-token" : false,
|
||||
"verify-token-audience" : true,
|
||||
"credentials" : {
|
||||
"secret" : "WnOVCxcAmrUYc8IjiFHOuRif5Oesoyfr"
|
||||
},
|
||||
|
||||
"connection-pool-size" : 20,
|
||||
"socket-timeout-millis" : 5000,
|
||||
"connection-timeout-millis" : 6000,
|
||||
"connection-ttl-millis" : 500,
|
||||
"disable-trust-manager" : false,
|
||||
"allow-any-hostname" : false,
|
||||
|
||||
"token-minimum-time-to-live" : 0,
|
||||
"min-time-between-jwks-requests" : 10,
|
||||
"public-key-cache-ttl" : 86400
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue