fix: redact passwords from credential strings
This commit is contained in:
@@ -13,7 +13,9 @@ value class DeviceName(val value: String)
|
||||
value class Username(val value: String)
|
||||
|
||||
@JvmInline
|
||||
value class Password(val value: String)
|
||||
value class Password(val value: String) {
|
||||
override fun toString(): String = "Password(***)"
|
||||
}
|
||||
|
||||
enum class ProviderType {
|
||||
ABOX,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.flagship.abox.manager.domain
|
||||
|
||||
import org.junit.Assert.assertEquals
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
|
||||
@@ -20,4 +21,15 @@ class DomainResultTest {
|
||||
assertTrue(result is DomainResult.Failure)
|
||||
assertEquals("20504", (result as DomainResult.Failure).error.externalCode)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun credentialStringsDoNotExposePassword() {
|
||||
val plaintext = "secret-password"
|
||||
val password = Password(plaintext)
|
||||
val credentials = LoginCredentials(Username("demo"), password)
|
||||
|
||||
assertFalse(password.toString().contains(plaintext))
|
||||
assertFalse(credentials.toString().contains(plaintext))
|
||||
assertTrue(credentials.toString().contains("Password(***)"))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user