Updated client registration requirement to allow desktop apps.

Change-Id: I637ebd3e4b3362e6f5b498ee3cb0e0f45a928007
diff --git a/full/src/main/resources/db/new-mysql/V1.4__oauth2_tables.sql b/full/src/main/resources/db/new-mysql/V1.4__oauth2_tables.sql
index fb85417..98e3c7b 100644
--- a/full/src/main/resources/db/new-mysql/V1.4__oauth2_tables.sql
+++ b/full/src/main/resources/db/new-mysql/V1.4__oauth2_tables.sql
@@ -4,14 +4,14 @@
 CREATE TABLE IF NOT EXISTS oauth2_client (
 	id VARCHAR(100) PRIMARY KEY NOT NULL,
 	name VARCHAR(200) NOT NULL,
-	secret VARCHAR(200),
+	secret VARCHAR(200) DEFAULT NULL,
 	type VARCHAR(200) NOT NULL,
 	native BOOLEAN DEFAULT FALSE,
-	url TEXT NOT NULL,
-	url_hashcode INTEGER NOT NULL,
-	redirect_uri TEXT NOT NULL,
-	registered_by VARCHAR(100) NOT NULL,
+	url TEXT DEFAULT NULL,
+	url_hashcode INTEGER,
+	redirect_uri TEXT DEFAULT NULL,
 	description VARCHAR(250) NOT NULL,
+	registered_by VARCHAR(100) NOT NULL,
 	UNIQUE INDEX unique_url(url_hashcode)
 );
 
diff --git a/full/src/main/resources/db/new-sqlite/V1.4__oauth2_tables.sql b/full/src/main/resources/db/new-sqlite/V1.4__oauth2_tables.sql
index 71a2d75..e6506cd 100644
--- a/full/src/main/resources/db/new-sqlite/V1.4__oauth2_tables.sql
+++ b/full/src/main/resources/db/new-sqlite/V1.4__oauth2_tables.sql
@@ -4,14 +4,14 @@
 CREATE TABLE IF NOT EXISTS oauth2_client (
 	id VARCHAR(100) PRIMARY KEY NOT NULL,
 	name VARCHAR(255) NOT NULL,
-	secret VARCHAR(255),
+	secret VARCHAR(255) DEFAULT NULL,
 	type VARCHAR(255) NOT NULL,
 	native BOOLEAN DEFAULT FALSE,
-	url TEXT NOT NULL,
-	url_hashcode INTEGER NOT NULL,
-	redirect_uri TEXT NOT NULL,
-	registered_by VARCHAR(100) NOT NULL,
-	description VARCHAR(255) NOT NULL
+	url TEXT DEFAULT NULL,
+	url_hashcode INTEGER,
+	redirect_uri TEXT DEFAULT NULL,
+	description VARCHAR(255) NOT NULL,
+	registered_by VARCHAR(100) NOT NULL
 );
 
 CREATE UNIQUE INDEX client_id_index on oauth2_client(id);
diff --git a/full/src/main/resources/default-config.xml b/full/src/main/resources/default-config.xml
index 5c2a050..bb5ac1e 100644
--- a/full/src/main/resources/default-config.xml
+++ b/full/src/main/resources/default-config.xml
@@ -184,6 +184,10 @@
 				static-field="org.apache.commons.validator.routines.UrlValidator.NO_FRAGMENTS" />
 		</constructor-arg>
 	</bean>
+	<bean id="urlValidator" class="org.apache.commons.validator.routines.UrlValidator">
+		<constructor-arg value="http,https" />
+	</bean>
+	
 
 	<bean id="kustvakt_rewrite" class="de.ids_mannheim.korap.rewrite.FullRewriteHandler">
 		<constructor-arg ref="kustvakt_config" />
@@ -193,7 +197,7 @@
 		<constructor-arg ref="kustvakt_db" />
 	</bean>
 
-	<bean id="kustvaktResponseHandler" class="de.ids_mannheim.korap.web.kustvaktResponseHandler">
+	<bean id="kustvaktResponseHandler" class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
 		<constructor-arg index="0" name="iface" ref="kustvakt_auditing" />
 	</bean>
 
diff --git a/full/src/main/resources/kustvakt.conf b/full/src/main/resources/kustvakt.conf
index 8adf152..da7ec20 100644
--- a/full/src/main/resources/kustvakt.conf
+++ b/full/src/main/resources/kustvakt.conf
@@ -50,8 +50,8 @@
 oauth2.native.client.host = korap.ids-mannheim.de
 oauth2.max.attempts = 3
 # -- scopes separated by space
-oauth2.default.scopes = read_username read_email 
-oauth2.client.credentials.scopes = read_client_info
+oauth2.default.scopes = username email 
+oauth2.client.credentials.scopes = client_info
 
 # JWT
 security.jwt.issuer=korap.ids-mannheim.de