Updated JWT lib & added MySQL database tables.
Change-Id: I5860e0484ef03f473a863001f44128e8274a14d3
diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/APIAuthentication.java b/full/src/main/java/de/ids_mannheim/korap/authentication/APIAuthentication.java
index b90889b..be9d330 100644
--- a/full/src/main/java/de/ids_mannheim/korap/authentication/APIAuthentication.java
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/APIAuthentication.java
@@ -30,7 +30,7 @@
//private Cache id_tokens = CacheManager.getInstance().getCache("id_tokens");
- public APIAuthentication (KustvaktConfiguration config) {
+ public APIAuthentication (KustvaktConfiguration config) throws JOSEException {
this.signedToken = new JWTSigner(config.getSharedSecret(),
config.getIssuer(), config.getTokenTTL());
}
@@ -67,7 +67,7 @@
c.setUsername(user.getUsername());
SignedJWT jwt = signedToken.createJWT(user, attr);
try {
- c.setExpirationTime(jwt.getJWTClaimsSet().getExpirationTimeClaim());
+ c.setExpirationTime(jwt.getJWTClaimsSet().getExpirationTime().getTime());
}
catch (ParseException e) {
throw new KustvaktException(StatusCodes.ILLEGAL_ARGUMENT);
diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java b/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
index 0cdd3d3..8258dcf 100644
--- a/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/LdapAuth3.java
@@ -26,6 +26,7 @@
package de.ids_mannheim.korap.authentication;
+import com.nimbusds.jose.JOSEException;
import com.unboundid.ldap.sdk.*;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
@@ -72,7 +73,7 @@
public static final int LDAP_AUTH_RLOCKED = 3;
public static final int LDAP_AUTH_RNOTREG = 4;
- public LdapAuth3 (KustvaktConfiguration config) {
+ public LdapAuth3 (KustvaktConfiguration config) throws JOSEException {
super(config);
}
diff --git a/full/src/main/java/de/ids_mannheim/korap/authentication/OpenIDconnectAuthentication.java b/full/src/main/java/de/ids_mannheim/korap/authentication/OpenIDconnectAuthentication.java
index 1cc6150..635b2ca 100644
--- a/full/src/main/java/de/ids_mannheim/korap/authentication/OpenIDconnectAuthentication.java
+++ b/full/src/main/java/de/ids_mannheim/korap/authentication/OpenIDconnectAuthentication.java
@@ -1,5 +1,6 @@
package de.ids_mannheim.korap.authentication;
+import com.nimbusds.jose.JOSEException;
import com.nimbusds.jwt.SignedJWT;
import de.ids_mannheim.korap.config.JWTSigner;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
@@ -40,26 +41,35 @@
@Override
- public TokenContext getTokenContext(String authToken)
+ public TokenContext getTokenContext (String authToken)
throws KustvaktException {
return this.database.getContext(authToken);
}
@Override
- public TokenContext createTokenContext(User user, Map<String, Object> attr)
+ public TokenContext createTokenContext (User user, Map<String, Object> attr)
throws KustvaktException {
String cl_secret = (String) attr.get(Attributes.CLIENT_SECRET);
if (cl_secret == null)
throw new KustvaktException(StatusCodes.REQUEST_INVALID);
attr.remove(cl_secret);
- JWTSigner signer = new JWTSigner(cl_secret.getBytes(),
- config.getIssuer(), config.getTokenTTL());
+ JWTSigner signer;
+ try {
+ signer = new JWTSigner(cl_secret.getBytes(), config.getIssuer(),
+ config.getTokenTTL());
+ }
+ catch (JOSEException e1) {
+ // e1.printStackTrace();
+ throw new KustvaktException(StatusCodes.ILLEGAL_ARGUMENT,
+ "Failed creating JWT.", e1);
+ }
TokenContext c = new TokenContext();
c.setUsername(user.getUsername());
SignedJWT jwt = signer.createJWT(user, attr);
try {
- c.setExpirationTime(jwt.getJWTClaimsSet().getExpirationTimeClaim());
+ c.setExpirationTime(
+ jwt.getJWTClaimsSet().getExpirationTime().getTime());
}
catch (ParseException e) {
throw new KustvaktException(StatusCodes.ILLEGAL_ARGUMENT);
@@ -79,13 +89,14 @@
@Override
- public TokenContext refresh (TokenContext context) throws KustvaktException {
+ public TokenContext refresh (TokenContext context)
+ throws KustvaktException {
throw new UnsupportedOperationException("method not supported");
}
@Override
- public TokenType getTokenType() {
+ public TokenType getTokenType () {
return TokenType.ID_TOKEN;
}
}