Skip to content

Commit 74ee6c1

Browse files
author
Juan Lang
committed
Don't send the appId for a registeredKey unless it differs from the
request's default appId. Closes google#74.
1 parent 6d60a1d commit 74ee6c1

5 files changed

Lines changed: 16 additions & 13 deletions

File tree

u2f-gae-demo/src/com/google/u2f/gaedemo/servlets/BeginEnrollServlet.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx
5151
throw new ServletException("couldn't get registration request", e);
5252
}
5353

54-
JsonObject result = new JsonObject();
55-
result.addProperty("appId", registrationRequest.getAppId());
54+
JsonObject result = new JsonObject();
55+
result.addProperty("appId", appId);
5656
result.addProperty("sessionId", registrationRequest.getSessionId());
5757

5858
JsonObject registerRequests = new JsonObject();
@@ -63,10 +63,10 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx
6363
if(allowReregistration) {
6464
result.add("registeredKeys", new JsonArray());
6565
} else {
66-
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson());
66+
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson(appId));
6767
}
6868

6969
resp.setContentType("application/json");
7070
resp.getWriter().println(result.toString());
7171
}
72-
}
72+
}

u2f-gae-demo/src/com/google/u2f/gaedemo/servlets/BeginSignServlet.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOEx
4949
JsonObject result = new JsonObject();
5050
result.addProperty("challenge", signRequest.getChallenge());
5151
result.addProperty("appId", appId);
52-
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson());
52+
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson(appId));
5353

5454
resp.setContentType("application/json");
5555
resp.getWriter().println(result.toString());
5656
}
57-
}
57+
}

u2f-ref-code/java/src/com/google/u2f/server/messages/RegisteredKey.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,11 @@ private JsonArray getTransportsAsJson() {
111111
return transportsArray;
112112
}
113113

114-
public JsonObject getJson() {
114+
public JsonObject getJson(String defaultAppId) {
115115
JsonObject result = new JsonObject();
116-
result.addProperty("appId", appId);
116+
if (appId != null && !appId.equals(defaultAppId)) {
117+
result.addProperty("appId", appId);
118+
}
117119
result.addProperty("version", version);
118120
result.addProperty("keyHandle", keyHandle);
119121
result.addProperty("sessionId", sessionId);

u2f-ref-code/java/src/com/google/u2f/server/messages/U2fSignRequest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ public List<RegisteredKey> getRegisteredKeys() {
2929
return registeredKeys;
3030
}
3131

32-
public JsonArray getRegisteredKeysAsJson() {
32+
public JsonArray getRegisteredKeysAsJson(String defaultAppId) {
3333
if (registeredKeys == null) {
3434
return null;
3535
}
3636
JsonArray result = new JsonArray();
3737
for (RegisteredKey registeredKey : registeredKeys) {
38-
result.add(registeredKey.getJson());
38+
result.add(registeredKey.getJson(defaultAppId));
3939
}
4040
return result;
4141
}

u2f-ref-code/java/src/com/google/u2f/tools/httpserver/servlets/SignDataServlet.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,12 @@ public void generateJavascript(Request req, Response resp, PrintStream body) thr
3232
return;
3333
}
3434

35-
U2fSignRequest signRequest = u2fServer.getSignRequest(userName, "http://localhost:8080");
35+
String appId = "http://localhost:8080";
36+
U2fSignRequest signRequest = u2fServer.getSignRequest(userName, appId);
3637
JsonObject result = new JsonObject();
3738
result.addProperty("challenge", signRequest.getChallenge());
38-
result.addProperty("appId", "http://localhost:8080");
39-
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson());
39+
result.addProperty("appId", appId);
40+
result.add("registeredKeys", signRequest.getRegisteredKeysAsJson(appId));
4041

4142
body.println("var signData = " + result.toString() + ";");
4243
}

0 commit comments

Comments
 (0)