in Fido/app/src/main/java/com/fido/example/fido2apiexample/GAEService.java [205:232]
public String getRegisterResponseFromServer(AuthenticatorAttestationResponse response) {
Log.d(TAG, "getRegisterResponseFromServer");
try {
if (fido2Service == null) {
return null;
}
JSONObject responseJson = new JSONObject();
String clientDataJSON = new String(response.getClientDataJSON(), "UTF-8");
String attestationObject = BaseEncoding.base64().encode(response.getAttestationObject());
responseJson.put(KEY_CLIENT_DATA_JSON, clientDataJSON);
responseJson.put(KEY_ATTESTATION_OBJECT, attestationObject);
List<String> registerResponseContent =
fido2Service.processRegistrationResponse(responseJson.toString()).execute().getItems();
if (registerResponseContent == null || registerResponseContent.isEmpty()) {
Log.i(TAG, "registerResponseContent is null or empty");
} else {
Log.i(TAG, "registerResponseContent " + registerResponseContent.get(0));
JSONObject credential = new JSONObject(registerResponseContent.get(0));
// return string value of the registered credential
return credential.toString();
}
} catch (IOException | JSONException e) {
Log.e(TAG, "Error processing registration response", e);
}
return null;
}