mirror of
https://github.com/bitwarden/android.git
synced 2026-05-11 02:15:43 -05:00
[PM-6702] Sanitize AppLink Uri by removing the fragment char
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.x8bit.bitwarden.data.auth.util
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import com.x8bit.bitwarden.data.platform.manager.model.CompleteRegistrationData
|
||||
import com.x8bit.bitwarden.data.platform.repository.model.Environment
|
||||
|
||||
@@ -9,10 +10,10 @@ import com.x8bit.bitwarden.data.platform.repository.model.Environment
|
||||
* The [CompleteRegistrationData] will be returned when present.
|
||||
*/
|
||||
fun Intent.getCompleteRegistrationDataIntentOrNull(): CompleteRegistrationData? {
|
||||
val uri = data ?: return null
|
||||
val sanitizedUriString = data.toString().replace("/#/","/")
|
||||
val uri = runCatching { Uri.parse(sanitizedUriString) }.getOrNull() ?: return null
|
||||
val host = uri.host ?: return null
|
||||
if (!host.contains("bitwarden.eu") && !host.contains("bitwarden.com")) return null
|
||||
if (uri.path != "finish-signup") return null
|
||||
if (uri.path != "/finish-signup") return null
|
||||
val email = uri?.getQueryParameter("email") ?: return null
|
||||
val verificationToken = uri.getQueryParameter("token") ?: return null
|
||||
val fromEmail = uri.getBooleanQueryParameter("fromEmail", true)
|
||||
|
||||
Reference in New Issue
Block a user