Skip to content

Commit 4a4888c

Browse files
committed
fix hibp auth
1 parent 02f81c3 commit 4a4888c

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

Modules/CippExtensions/Public/HIBP/Get-HIBPAuth.ps1

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
11
function Get-HIBPAuth {
2-
if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') {
3-
$DevSecretsTable = Get-CIPPTable -tablename 'DevSecrets'
4-
$Secret = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'HIBP' and RowKey eq 'HIBP'").APIKey
2+
$Var = 'Ext_HIBP'
3+
$APIKey = Get-Item -Path "ENV:$Var" -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Value
4+
if ($APIKey) {
5+
Write-Information 'Using cached API Key for HIBP'
56
} else {
6-
$null = Connect-AzAccount -Identity
7-
$VaultName = $ENV:WEBSITE_OWNER_NAME -like '3e625d35-bf18-4e55*' ? 'hibp-kv' : ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0]
8-
$Secret = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'HIBP' -AsPlainText
7+
if ($env:AzureWebJobsStorage -eq 'UseDevelopmentStorage=true') {
8+
$DevSecretsTable = Get-CIPPTable -tablename 'DevSecrets'
9+
$Secret = (Get-CIPPAzDataTableEntity @DevSecretsTable -Filter "PartitionKey eq 'HIBP' and RowKey eq 'HIBP'").APIKey
10+
} else {
11+
$null = Connect-AzAccount -Identity
12+
$VaultName = ($ENV:WEBSITE_DEPLOYMENT_ID -split '-')[0]
13+
try {
14+
$Secret = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'HIBP' -AsPlainText -ErrorAction Stop
15+
} catch {
16+
$Secret = $null
17+
}
18+
19+
if ([string]::IsNullOrEmpty($Secret) -and $ENV:WEBSITE_OWNER_NAME -like '3e625d35-bf18-4e55*' -or $ENV:WEBSITE_OWNER_NAME -like '61e84181-ff2a-4ba3*') {
20+
$VaultName = 'hibp-kv'
21+
$Secret = Get-AzKeyVaultSecret -VaultName $VaultName -Name 'HIBP' -AsPlainText
22+
}
23+
}
24+
Set-Item -Path "ENV:$Var" -Value $APIKey -Force -ErrorAction SilentlyContinue
925
}
1026

1127
return @{

0 commit comments

Comments
 (0)