Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2793d743 authored by Qinmei Du's avatar Qinmei Du Committed by Android (Google) Code Review
Browse files

Merge "Update parsing from requestInfo json for create passkey"

parents fc2f7e71 f6909785
Loading
Loading
Loading
Loading
+34 −1
Original line number Diff line number Diff line
@@ -425,7 +425,40 @@ class CredentialManagerRepo(
  }

  private fun testCreatePasskeyRequestInfo(): RequestInfo {
    val request = CreatePublicKeyCredentialRequest("json")
    val request = CreatePublicKeyCredentialRequest("{\"extensions\": {\n" +
            "                     \"webauthn.loc\": true\n" +
            "                   },\n" +
            "                   \"attestation\": \"direct\",\n" +
            "                   \"challenge\": \"-rSQHXSQUdaK1N-La5bE-JPt6EVAW4SxX1K_tXhZ_Gk\",\n" +
            "                   \"user\": {\n" +
            "                     \"displayName\": \"testName\",\n" +
            "                     \"name\": \"credManTesting@gmail.com\",\n" +
            "                     \"id\": \"eD4o2KoXLpgegAtnM5cDhhUPvvk2\"\n" +
            "                   },\n" +
            "                   \"excludeCredentials\": [],\n" +
            "                   \"rp\": {\n" +
            "                     \"name\": \"Address Book\",\n" +
            "                     \"id\": \"addressbook-c7876.uc.r.appspot.com\"\n" +
            "                   },\n" +
            "                   \"timeout\": 60000,\n" +
            "                   \"pubKeyCredParams\": [\n" +
            "                     {\n" +
            "                       \"type\": \"public-key\",\n" +
            "                       \"alg\": -7\n" +
            "                     },\n" +
            "                     {\n" +
            "                       \"type\": \"public-key\",\n" +
            "                       \"alg\": -257\n" +
            "                     },\n" +
            "                     {\n" +
            "                       \"type\": \"public-key\",\n" +
            "                       \"alg\": -37\n" +
            "                     }\n" +
            "                   ],\n" +
            "                   \"authenticatorSelection\": {\n" +
            "                     \"residentKey\": \"required\",\n" +
            "                     \"requireResidentKey\": true\n" +
            "                   }}")
    val data = request.data
    return RequestInfo.newCreateRequestInfo(
      Binder(),
+25 −15
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import com.android.credentialmanager.jetpack.developer.CreatePublicKeyCredential
import com.android.credentialmanager.jetpack.provider.ActionUi
import com.android.credentialmanager.jetpack.provider.CredentialEntryUi
import com.android.credentialmanager.jetpack.provider.SaveEntryUi
import org.json.JSONObject

/** Utility functions for converting CredentialManager data structures to or from UI formats. */
class GetFlowUtils {
@@ -235,31 +236,40 @@ class CreateFlowUtils {
          it
        )
      }
      // TODO: covert from real requestInfo
      when (createCredentialRequestJetpack) {
        is CreatePasswordRequest -> {
          return RequestDisplayInfo(
            createCredentialRequestJetpack.id,
            createCredentialRequestJetpack.password,
            createCredentialRequestJetpack.type,
              "tribank",
            requestInfo.appPackageName,
            context.getDrawable(R.drawable.ic_password)!!
          )
        }
        is CreatePublicKeyCredentialRequest -> {
          val requestJson = createCredentialRequestJetpack.requestJson
          val json = JSONObject(requestJson)
          var name = ""
          var displayName = ""
          if (json.has("user")) {
            val user: JSONObject = json.getJSONObject("user")
            name = user.getString("name")
            displayName = user.getString("displayName")
          }
          return RequestDisplayInfo(
            "beckett-bakert@gmail.com",
            "Elisa Beckett",
            name,
            displayName,
            createCredentialRequestJetpack.type,
            "tribank",
            requestInfo.appPackageName,
            context.getDrawable(R.drawable.ic_passkey)!!)
        }
        // TODO: correctly parsing for other sign-ins
        else -> {
          return RequestDisplayInfo(
            "beckett-bakert@gmail.com",
            "Elisa Beckett",
            "other-sign-ins",
            "tribank",
            requestInfo.appPackageName,
            context.getDrawable(R.drawable.ic_other_sign_in)!!)
        }
      }