UseOnceSecret

sealed abstract class UseOnceSecret

Secret configuration value which can only be used once before being nullified.

UseOnceSecret.apply wraps an Array[Char] ensuring the array is only accessed once and that the array is nullified once used. The array can be accessed with UseOnceSecret#useOnce or alternatively, through Resource using UseOnceSecret#resource.

ConfigValue#useOnceSecret can be used to wrap a value in UseOnceSecret, while also redacting sentitive details from errors.

Companion:
object
class Object
trait Matchable
class Any

Value members

Abstract methods

def resource[F[_]](implicit F: Sync[F]): Resource[F, Array[Char]]

Returns a Resource which accesses the underlying Array[Char] and nullifies it after use.

Returns a Resource which accesses the underlying Array[Char] and nullifies it after use.

In case the secret has already been used once, an IllegalStateException will instead be raised.

def useOnce[F[_], A](f: Array[Char] => F[A])(implicit F: Sync[F]): F[A]

Returns an effect running the specified function on the underlying Array[Char] and nullifies it afterwards.

Returns an effect running the specified function on the underlying Array[Char] and nullifies it afterwards.

In case the secret has already been used once, an IllegalStateException will instead be raised.