Implemented signed OpenID token with default algorithm RSA256.

Change-Id: I5bd5bed5c556e550244e06299bc7e54f53226401
diff --git a/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java b/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
index 5c98520..1d1c1ec 100644
--- a/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
+++ b/core/src/main/java/de/ids_mannheim/korap/config/KustvaktConfiguration.java
@@ -4,7 +4,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.URL;
+import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -40,7 +40,6 @@
     private List<String> queryLanguages;
 
     private String serverHost;
-    private URL issuer;
 
     private int maxhits;
     private int returnhits;
@@ -83,7 +82,7 @@
     // deprec?!
     private final BACKENDS DEFAULT_ENGINE = BACKENDS.LUCENE;
 
-	public KustvaktConfiguration (Properties properties) throws IOException {
+	public KustvaktConfiguration (Properties properties) throws IOException, URISyntaxException {
         load(properties);
     }
 	
@@ -93,10 +92,11 @@
      * @param properties
      * @return
      * @throws IOException 
+     * @throws URISyntaxException 
      * @throws KustvaktException 
      */
     protected void load (Properties properties)
-            throws IOException {
+            throws IOException, URISyntaxException {
         baseURL = properties.getProperty("kustvakt.base.url", "/api/*");
         maxhits = new Integer(properties.getProperty("maxhits", "50000"));
         returnhits = new Integer(properties.getProperty("returnhits", "50000"));
@@ -110,11 +110,6 @@
         queryLanguages = new ArrayList<>();
         for (String querylang : qls)
             queryLanguages.add(querylang.trim().toUpperCase());
-        String is = properties.getProperty("security.jwt.issuer", "");
-
-        if (!is.startsWith("http"))
-            is = "http://" + is;
-        issuer = new URL(is);
 
         default_const = properties
                 .getProperty("default.layer.constituent", "mate");
@@ -173,8 +168,9 @@
      * properties can be overloaded after spring init
      * 
      * @param stream
+     * @throws URISyntaxException 
      */
-    public void setPropertiesAsStream (InputStream stream) {
+    public void setPropertiesAsStream (InputStream stream) throws URISyntaxException {
         try {
 
             Properties p = new Properties();
diff --git a/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java b/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
index ed1a11f..655a98a 100644
--- a/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
+++ b/core/src/main/java/de/ids_mannheim/korap/exceptions/StatusCodes.java
@@ -131,6 +131,9 @@
     public static final int UNSUPPORTED_GRANT_TYPE = 1810;
     public static final int UNSUPPORTED_AUTHENTICATION_METHOD = 1811;
     
+    public static final int ID_TOKEN_CLAIM_ERROR = 1812;
+    public static final int ID_TOKEN_SIGNING_FAILED = 1813;
+    
 
     /**
      * 1900 User account and logins