public void Register(IAppHost appHost)
        {
            VaultUri.ThrowIfNullOrEmpty(nameof(VaultUri));

            var vaultAuth   = GetVaultAuth();
            var vaultClient = new VaultClient(vaultAuth, VaultUri, VaultCertificate);

            appHost.Register <IClientSecretStore>(new VaultClientSecretStore(this, vaultClient));
        }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (VaultUri != null ? VaultUri.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)AuthenticationType;
         hashCode = (hashCode * 397) ^ (RoleId != null ? RoleId.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (SecretId != null ? SecretId.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Username != null ? Username.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Password != null ? Password.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Token != null ? Token.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (int)SecretsEngine;
         hashCode = (hashCode * 397) ^ (SecretsEnginePath != null ? SecretsEnginePath.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (DataPath != null ? DataPath.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Namespace != null ? Namespace.GetHashCode() : 0);
         return(hashCode);
     }
 }