Handled scopes & added request token with authorization code tests.
Change-Id: I775141b8b94bf2d1c86ad873807fcb1b12f3914f
diff --git a/full/src/main/java/de/ids_mannheim/korap/config/FullConfiguration.java b/full/src/main/java/de/ids_mannheim/korap/config/FullConfiguration.java
index 5fb08a8..d237494 100644
--- a/full/src/main/java/de/ids_mannheim/korap/config/FullConfiguration.java
+++ b/full/src/main/java/de/ids_mannheim/korap/config/FullConfiguration.java
@@ -54,7 +54,8 @@
private AuthenticationMethod OAuth2passwordAuthentication;
private String nativeClientHost;
- private Set<String> accessScopes;
+ private Set<String> defaultAccessScopes;
+ private Set<String> clientCredentialsScopes;
private int maxAuthenticationAttempts;
public FullConfiguration (Properties properties) throws IOException {
@@ -94,7 +95,12 @@
"read_username read_email");
Set<String> scopeSet =
Arrays.stream(scopes.split(" ")).collect(Collectors.toSet());
- setAccessScopes(scopeSet);
+ setDefaultAccessScopes(scopeSet);
+
+ String clientScopes = properties.getProperty(
+ "oauth2.client.credentials.scopes", "read_client_info");
+ setClientCredentialsScopes(Arrays.stream(clientScopes.split(" "))
+ .collect(Collectors.toSet()));
}
private void setMailConfiguration (Properties properties) {
@@ -352,12 +358,21 @@
this.maxAuthenticationAttempts = maxAuthenticationAttempts;
}
- public Set<String> getAccessScopes () {
- return accessScopes;
+ public Set<String> getDefaultAccessScopes () {
+ return defaultAccessScopes;
}
- public void setAccessScopes (Set<String> accessScopes) {
- this.accessScopes = accessScopes;
+ public void setDefaultAccessScopes (Set<String> accessScopes) {
+ this.defaultAccessScopes = accessScopes;
+ }
+
+ public Set<String> getClientCredentialsScopes () {
+ return clientCredentialsScopes;
+ }
+
+ public void setClientCredentialsScopes (
+ Set<String> clientCredentialsScopes) {
+ this.clientCredentialsScopes = clientCredentialsScopes;
}
}
diff --git a/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java b/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
index e77f006..6c04431 100644
--- a/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
+++ b/full/src/main/java/de/ids_mannheim/korap/config/Initializator.java
@@ -4,7 +4,8 @@
import de.ids_mannheim.korap.oauth2.dao.AccessScopeDao;
-/** Initializes values in the database from kustvakt configuration.
+/**
+ * Initializes values in the database from kustvakt configuration.
*
* @author margaretha
*
@@ -13,19 +14,20 @@
private FullConfiguration config;
private AccessScopeDao accessScopeDao;
-
- public Initializator (FullConfiguration config, AccessScopeDao accessScopeDao) {
+
+ public Initializator (FullConfiguration config,
+ AccessScopeDao accessScopeDao) {
this.config = config;
this.accessScopeDao = accessScopeDao;
}
-
+
public void init () {
setAccessScope();
}
-
- private void setAccessScope(){
- Set<String> accessScopes = config.getAccessScopes();
- accessScopeDao.storeAccessScopes(accessScopes);
+
+ private void setAccessScope () {
+ accessScopeDao.storeAccessScopes(config.getDefaultAccessScopes());
+ accessScopeDao.storeAccessScopes(config.getClientCredentialsScopes());
}
}