-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- add SecurityConf and add oidc and oauth2 application.yml - add ConfigReader, ConfigParam - add SecurityConstants
- Loading branch information
Showing
5 changed files
with
136 additions
and
2 deletions.
There are no files selected for viewing
26 changes: 26 additions & 0 deletions
26
src/main/java/cz/cvut/kbss/analysis/config/conf/SecurityConf.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package cz.cvut.kbss.analysis.config.conf; | ||
|
||
import lombok.Getter; | ||
import lombok.Setter; | ||
import org.springframework.boot.context.properties.ConfigurationProperties; | ||
import org.springframework.boot.context.properties.EnableConfigurationProperties; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
@Setter | ||
@Getter | ||
@Configuration | ||
@EnableConfigurationProperties | ||
@ConfigurationProperties("security") | ||
public class SecurityConf { | ||
private String allowedOrigins; | ||
|
||
private String appContext; | ||
|
||
private String issuerUri; | ||
|
||
private String secretKey; | ||
|
||
private Long expiryMs; | ||
|
||
private String roleClaim; | ||
} |
33 changes: 33 additions & 0 deletions
33
src/main/java/cz/cvut/kbss/analysis/security/SecurityConstants.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package cz.cvut.kbss.analysis.security; | ||
|
||
public class SecurityConstants { | ||
|
||
private SecurityConstants() { | ||
throw new AssertionError(); | ||
} | ||
|
||
public static final String SESSION_COOKIE_NAME = "FSM_JSESSIONID"; | ||
|
||
public static final String REMEMBER_ME_COOKIE_NAME = "remember-me"; | ||
|
||
public static final String CSRF_COOKIE_NAME = "CSRF-TOKEN"; | ||
|
||
public static final String USERNAME_PARAM = "username"; | ||
|
||
public static final String PASSWORD_PARAM = "password"; | ||
|
||
public static final String SECURITY_CHECK_URI = "/j_spring_security_check"; | ||
|
||
public static final String LOGOUT_URI = "/j_spring_security_logout"; | ||
|
||
public static final String COOKIE_URI = "/"; | ||
|
||
/** | ||
* Session timeout in seconds. | ||
*/ | ||
public static final int SESSION_TIMEOUT = 12 * 60 * 60; | ||
|
||
public static final String ROLE_USER = "ROLE_USER"; | ||
|
||
public static final String ROLE_ADMIN = "ROLE_ADMIN"; | ||
} |
42 changes: 42 additions & 0 deletions
42
src/main/java/cz/cvut/kbss/analysis/service/ConfigReader.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
package cz.cvut.kbss.analysis.service; | ||
|
||
import cz.cvut.kbss.analysis.util.ConfigParam; | ||
import org.springframework.core.env.Environment; | ||
import org.springframework.stereotype.Component; | ||
|
||
import java.util.Map; | ||
|
||
@Component | ||
public class ConfigReader { | ||
|
||
private final Environment environment; | ||
|
||
public ConfigReader(Environment environment) { | ||
this.environment = environment; | ||
} | ||
|
||
/** | ||
* Gets value of the specified configuration parameter. | ||
* | ||
* @param param Configuration parameter | ||
* @return Configuration parameter value, empty string if the parameter is not set | ||
*/ | ||
public String getConfig(ConfigParam param) { | ||
return getConfig(param, ""); | ||
} | ||
|
||
public String getConfig(ConfigParam param, String defaultValue) { | ||
if (environment.containsProperty(param.toString())) { | ||
return environment.getProperty(param.toString()); | ||
} | ||
return defaultValue; | ||
} | ||
|
||
public String getConfigWithParams(ConfigParam param, Map<String, String> params) { | ||
String str = environment.getProperty(param.toString()); | ||
for ( String key : params.keySet() ) { | ||
str = str.replace("{{" + key + "}}", params.get(key)); | ||
} | ||
return str; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package cz.cvut.kbss.analysis.util; | ||
|
||
public enum ConfigParam { | ||
|
||
SECURITY_SAME_SITE("security.sameSite"), | ||
|
||
APP_CONTEXT("appContext"); | ||
|
||
private final String name; | ||
|
||
ConfigParam(String name) { | ||
this.name = name; | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return name; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters