Skip to content

Commit 7280def

Browse files
47 implement token enrollment via validatecheck (#52)
* Update challenge and consts with image * implement imgs * Update the tests * Update WebAuthn.java * Update PIResponse.java * Make possible to get the challenge's image * Update TestWebAuthn.java * Update TestU2F.java * Update tests * Update JSONParser.java * rm redundant function * Update pom.xml * get the image from each challenge * Test to get the image * Update TestWebAuthn.java * update tests * parse the client_mode * optimize imports
1 parent 2e4be5f commit 7280def

16 files changed

Lines changed: 60 additions & 54 deletions

pom.xml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
<skipTests>false</skipTests>
2424
</configuration>
2525
</plugin>
26-
2726
<plugin>
2827
<groupId>org.apache.maven.plugins</groupId>
2928
<artifactId>maven-shade-plugin</artifactId>
@@ -45,7 +44,6 @@
4544
</execution>
4645
</executions>
4746
</plugin>
48-
4947
<plugin>
5048
<groupId>org.apache.maven.plugins</groupId>
5149
<artifactId>maven-compiler-plugin</artifactId>
@@ -55,7 +53,6 @@
5553
<target>1.8</target>
5654
</configuration>
5755
</plugin>
58-
5956
<plugin>
6057
<groupId>org.jacoco</groupId>
6158
<artifactId>jacoco-maven-plugin</artifactId>
@@ -86,26 +83,22 @@
8683
<version>4.13.2</version>
8784
<scope>test</scope>
8885
</dependency>
89-
9086
<dependency>
9187
<groupId>com.squareup.okhttp3</groupId>
9288
<artifactId>okhttp</artifactId>
9389
<version>4.10.0</version>
9490
</dependency>
95-
9691
<dependency>
9792
<groupId>com.google.code.gson</groupId>
9893
<artifactId>gson</artifactId>
99-
<version>2.10</version>
94+
<version>2.10.1</version>
10095
</dependency>
101-
10296
<dependency>
10397
<groupId>org.mock-server</groupId>
10498
<artifactId>mockserver-netty-no-dependencies</artifactId>
10599
<version>5.14.0</version>
106100
<scope>test</scope>
107101
</dependency>
108-
109102
<dependency>
110103
<groupId>org.slf4j</groupId>
111104
<artifactId>slf4j-simple</artifactId>

src/main/java/org/privacyidea/Challenge.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@ public class Challenge
2222
{
2323
private final List<String> attributes = new ArrayList<>();
2424
private final String serial;
25+
private final String client_mode;
2526
private final String message;
26-
private final String image;
2727
private final String transaction_id;
2828
private final String type;
29+
private final String image;
2930

30-
public Challenge(String serial, String message, String image, String transaction_id, String type)
31+
public Challenge(String serial, String message, String client_mode, String image, String transaction_id, String type)
3132
{
3233
this.serial = serial;
3334
this.message = message;
35+
this.client_mode = client_mode;
3436
this.image = image;
3537
this.transaction_id = transaction_id;
3638
this.type = type;
@@ -50,6 +52,7 @@ public String getMessage()
5052
{
5153
return message;
5254
}
55+
public String getClientMode() { return client_mode; }
5356

5457
public String getImage() { return image.replaceAll("\"", ""); }
5558

src/main/java/org/privacyidea/Endpoint.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,11 @@
2626
import javax.net.ssl.SSLSocketFactory;
2727
import javax.net.ssl.TrustManager;
2828
import javax.net.ssl.X509TrustManager;
29-
30-
import okhttp3.Call;
3129
import okhttp3.Callback;
3230
import okhttp3.FormBody;
3331
import okhttp3.HttpUrl;
3432
import okhttp3.OkHttpClient;
3533
import okhttp3.Request;
36-
import okhttp3.internal.connection.RealCall;
3734

3835
import static org.privacyidea.PIConstants.GET;
3936
import static org.privacyidea.PIConstants.HEADER_USER_AGENT;

src/main/java/org/privacyidea/JSONParser.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,19 @@
1212
import java.util.LinkedHashMap;
1313
import java.util.List;
1414
import java.util.Map;
15-
import java.util.Objects;
1615

1716
import static org.privacyidea.PIConstants.ASSERTIONCLIENTEXTENSIONS;
1817
import static org.privacyidea.PIConstants.ATTRIBUTES;
1918
import static org.privacyidea.PIConstants.AUTHENTICATION;
2019
import static org.privacyidea.PIConstants.AUTHENTICATORDATA;
2120
import static org.privacyidea.PIConstants.CLIENTDATA;
21+
import static org.privacyidea.PIConstants.CLIENT_MODE;
2222
import static org.privacyidea.PIConstants.CODE;
2323
import static org.privacyidea.PIConstants.CREDENTIALID;
2424
import static org.privacyidea.PIConstants.DETAIL;
2525
import static org.privacyidea.PIConstants.ERROR;
2626
import static org.privacyidea.PIConstants.ID;
2727
import static org.privacyidea.PIConstants.IMAGE;
28-
import static org.privacyidea.PIConstants.IMG;
2928
import static org.privacyidea.PIConstants.INFO;
3029
import static org.privacyidea.PIConstants.JSONRPC;
3130
import static org.privacyidea.PIConstants.MAXFAIL;
@@ -229,23 +228,24 @@ else if ("interactive".equals(modeFromResponse))
229228
.getAsJsonObject();
230229
String serial = getString(challenge, SERIAL);
231230
String message = getString(challenge, MESSAGE);
232-
String image = getItemFromAttributes(IMG, challenge).replaceAll("\"", "");
231+
String clientmode = getString(challenge, CLIENT_MODE);
232+
String image = getString (challenge, IMAGE);
233233
String transactionid = getString(challenge, TRANSACTION_ID);
234234
String type = getString(challenge, TYPE);
235235

236236
if (TOKEN_TYPE_WEBAUTHN.equals(type))
237237
{
238238
String webAuthnSignRequest = getItemFromAttributes(WEBAUTHN_SIGN_REQUEST, challenge);
239-
response.multichallenge.add(new WebAuthn(serial, message, image, transactionid, webAuthnSignRequest));
239+
response.multichallenge.add(new WebAuthn(serial, message, clientmode, image, transactionid, webAuthnSignRequest));
240240
}
241241
else if (TOKEN_TYPE_U2F.equals(type))
242242
{
243243
String u2fSignRequest = getItemFromAttributes(U2F_SIGN_REQUEST, challenge);
244-
response.multichallenge.add(new U2F(serial, message, image, transactionid, u2fSignRequest));
244+
response.multichallenge.add(new U2F(serial, message, clientmode, image, transactionid, u2fSignRequest));
245245
}
246246
else
247247
{
248-
response.multichallenge.add(new Challenge(serial, message, image, transactionid, type));
248+
response.multichallenge.add(new Challenge(serial, message, clientmode, image, transactionid, type));
249249
}
250250
}
251251
}

src/main/java/org/privacyidea/PIConfig.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
*/
1616
package org.privacyidea;
1717

18-
import java.util.ArrayList;
19-
import java.util.List;
20-
2118
class PIConfig
2219
{
2320
String serverURL = "";

src/main/java/org/privacyidea/PIConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ private PIConstants()
6464
public static final String TOKEN = "token";
6565
public static final String PREFERRED_CLIENT_MODE = "preferred_client_mode";
6666
public static final String MESSAGE = "message";
67+
public static final String CLIENT_MODE = "client_mode";
6768
public static final String IMAGE = "image";
68-
public static final String IMG = "img";
6969
public static final String MESSAGES = "messages";
7070
public static final String MULTI_CHALLENGE = "multi_challenge";
7171
public static final String ATTRIBUTES = "attributes";

src/main/java/org/privacyidea/PIResponse.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,14 +107,6 @@ public List<String> triggeredTokenTypes()
107107
.collect(Collectors.toList());
108108
}
109109

110-
/**
111-
* @return a list of challenges that were triggered or an empty list if none were triggered
112-
*/
113-
public List<Challenge> multiChallenge()
114-
{
115-
return multichallenge;
116-
}
117-
118110
/**
119111
* Get all WebAuthn challenges from the multi_challenge.
120112
*

src/main/java/org/privacyidea/PrivacyIDEA.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import static org.privacyidea.PIConstants.POST;
4545
import static org.privacyidea.PIConstants.REALM;
4646
import static org.privacyidea.PIConstants.SERIAL;
47-
import static org.privacyidea.PIConstants.IMAGE;
4847
import static org.privacyidea.PIConstants.TRANSACTION_ID;
4948
import static org.privacyidea.PIConstants.TYPE;
5049
import static org.privacyidea.PIConstants.USER;

src/main/java/org/privacyidea/U2F.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ public class U2F extends Challenge
1919
{
2020
private final String signRequest;
2121

22-
public U2F(String serial, String message, String image, String transaction_id, String signRequest)
22+
public U2F(String serial, String message, String client_mode, String image, String transaction_id, String signRequest)
2323
{
24-
super(serial, message, image, transaction_id, PIConstants.TOKEN_TYPE_U2F);
24+
super(serial, message, client_mode, image, transaction_id, PIConstants.TOKEN_TYPE_U2F);
2525
this.signRequest = signRequest;
2626
}
2727

src/main/java/org/privacyidea/WebAuthn.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,13 @@
1515
*/
1616
package org.privacyidea;
1717

18-
import java.util.Collections;
19-
import java.util.Map;
20-
2118
public class WebAuthn extends Challenge
2219
{
2320
private final String signRequest;
2421

25-
public WebAuthn(String serial, String message, String image, String transaction_id, String signRequest)
22+
public WebAuthn(String serial, String message, String client_mode, String image, String transaction_id, String signRequest)
2623
{
27-
super(serial, message, image, transaction_id, PIConstants.TOKEN_TYPE_WEBAUTHN);
24+
super(serial, message, client_mode, image, transaction_id, PIConstants.TOKEN_TYPE_WEBAUTHN);
2825
this.signRequest = signRequest;
2926
}
3027

0 commit comments

Comments
 (0)