Add-In permission: estendere la validità del secret
Tramite PowerShell è possibile definire, in una AppOnly di SharePoint, un nuovo secret con scadenza arbitraria.
La prima cosa da sapere è che non è possibile estendere la durata di un secret esistente, ne va creato uno nuovo.
e si recupera la AppOnly già definita
restituirà nella variabile un oggetto simile a questo
tramite l'ObjectId recuperiamo le informazioni per conferma
tipo queste dove si vedono solo le date di inizio (StartDate) e fine (EndDate) validità
la variabile $secret conterrà una cosa simile a questa
Per vedere il valore contenuto nel campo CustomKeyIdentifier (byte[])
La prima cosa da sapere è che non è possibile estendere la durata di un secret esistente, ne va creato uno nuovo.
Verifica
Primo passo, connessione al tenantPowerShell: Connection
Connect-AzureAD -TenantId b32xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxca9
PowerShell: Get AppOnly
$appname="Test UPV"
$app = Get-AzureADServicePrincipal -SearchString $appName -All $true
Text
ObjectId AppId DisplayName
-------- ----- -----------
40f9183e-xxxx-xxxx-xxxx-0913dfd84445 91d3a010-xxxx-xxxx-xxxx-3de1bd1d9751 Test UPV
PowerShell: Get Details
$appname="Test UPV"
Get-AzureADServicePrincipalPasswordCredential -ObjectId $app.ObjectId
Text
CustomKeyIdentifier :
EndDate : 17/05/2023 14:48:12
KeyId : 74c0bf26-xxxx-xxxx-xxxx-6c8023929d38
StartDate : 17/05/2022 14:48:12
Value :
Il secret (Value) viene mostrato solo in fase di creazione, poi non è più visibile.
New secret
Con queste info si può creare un nuovo secret impostando una specifica data di scadenza (EndDate)PowerShell: Get AppOnly
$startDate = Get-Date
$endDate = $startDate.AddYears(10)
$keyIdentifier = "Expire_$($endDate.ToString("yyyy"))"
$secret = New-AzureADServicePrincipalPasswordCredential -ObjectId $app.ObjectId -CustomKeyIdentifier $keyIdentifier -StartDate $startDate -EndDate $endDate
$secret.Value # visualizzo il secret
Text
CustomKeyIdentifier : {69, 120, 112, 105...}
EndDate : 17/05/2071 21:45:28
KeyId :
StartDate : 17/05/2022 21:45:28
Value : jisf7vDUgO.....................EID0DM7RWc=
Copiare il valore del secret contenuto in $secret.Value.
Per vedere il valore contenuto nel campo CustomKeyIdentifier (byte[])
PowerShell
[System.Text.Encoding]::UTF8.GetString($secret.CustomKeyIdentifier)
# ritorna Expire_2032