Update parsing from requestInfo json for create passkey
screenshot: https://screenshot.googleplex.com/9WQGFwJAyXhrrhV Test: deployed locally Bug: 253157211 Change-Id: I894b5c48534b9ff6cd0599fb31bc750a2524fddd
This commit is contained in:
@@ -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(),
|
||||
|
||||
@@ -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,33 +236,42 @@ class CreateFlowUtils {
|
||||
it
|
||||
)
|
||||
}
|
||||
// TODO: covert from real requestInfo
|
||||
when (createCredentialRequestJetpack) {
|
||||
is CreatePasswordRequest -> {
|
||||
return RequestDisplayInfo(
|
||||
createCredentialRequestJetpack.id,
|
||||
createCredentialRequestJetpack.password,
|
||||
createCredentialRequestJetpack.type,
|
||||
"tribank",
|
||||
context.getDrawable(R.drawable.ic_password)!!
|
||||
)
|
||||
}
|
||||
is CreatePublicKeyCredentialRequest -> {
|
||||
is CreatePasswordRequest -> {
|
||||
return RequestDisplayInfo(
|
||||
"beckett-bakert@gmail.com",
|
||||
"Elisa Beckett",
|
||||
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(
|
||||
name,
|
||||
displayName,
|
||||
createCredentialRequestJetpack.type,
|
||||
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)!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user