From 4e0ace736614e3d2b56e1f3df7cd1f5bf222fc3f Mon Sep 17 00:00:00 2001 From: Helen Qin Date: Tue, 6 Jun 2023 20:08:01 +0000 Subject: [PATCH] [Partner request] Remove https and trailing slash in an https origin For example, "https://something/" should be just "something". Bug: 286103811 Fix: 286103811 Test: local verification (see bug for screenshots) Change-Id: Ib6b3b9e99163235f7ae73bc7ebd66571f254ea86 --- .../CredentialManagerRepo.kt | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt index 2dafbcb952059..a78509d897aa0 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt @@ -66,8 +66,9 @@ class CredentialManagerRepo( ) val originName: String? = when (requestInfo?.type) { - RequestInfo.TYPE_CREATE -> requestInfo.createCredentialRequest?.origin - RequestInfo.TYPE_GET -> requestInfo.getCredentialRequest?.origin + RequestInfo.TYPE_CREATE -> processHttpsOrigin( + requestInfo.createCredentialRequest?.origin) + RequestInfo.TYPE_GET -> processHttpsOrigin(requestInfo.getCredentialRequest?.origin) else -> null } @@ -247,6 +248,9 @@ class CredentialManagerRepo( } companion object { + private const val HTTPS = "https://" + private const val FORWARD_SLASH = "/" + fun sendCancellationCode( cancelCode: Int, requestToken: IBinder?, @@ -266,5 +270,17 @@ class CredentialManagerRepo( CancelUiRequest::class.java ) } + + /** Removes "https://", and the trailing slash if present for an https request. */ + private fun processHttpsOrigin(origin: String?): String? { + var processed = origin + if (processed?.startsWith(HTTPS) == true) { // Removes "https://" + processed = processed.substring(HTTPS.length) + if (processed?.endsWith(FORWARD_SLASH) == true) { // Removes the trailing slash + processed = processed.substring(0, processed.length - 1) + } + } + return processed + } } }