scripts/appreg.ps1 (37 lines of code) (raw):

#run az login and set correct subscription if needed ./scripts/set-az-currentsubscription.ps1 if ($? -eq $true) { $azdenv = azd env get-values --output json | ConvertFrom-Json #check if registration exists $displayName = "Enterprise-AzureAI-ChatApp-" + $azdenv.RESOURCE_TOKEN $app = az ad app list --display-name $displayName --output json | ConvertFrom-Json if (!$app) { Write-Host "Creating new app registration $displayName..." $localReplyUrl = "http://localhost:3000/api/auth/callback/azure-ad" $azureReplyUrl = $azdenv.AZURE_CHATAPP_URL + "/api/auth/callback/azure-ad" $redirectUris = @($localReplyUrl, $azureReplyUrl) $app = az ad app create --display-name $displayName ` --web-redirect-uris $redirectUris ` --sign-in-audience AzureADMyOrg ` --output json | ConvertFrom-Json Write-Host "New App registration $displayName created successfully..." Write-Host "Create Secret Credentials" $cred = az ad app credential reset --id $app.appId ` --display-name "azurechat-secret" ` --output json | ConvertFrom-Json Write-Host "Secret Credentials created successfully..." Write-Host "Create Key Vault Secrets" $s1 = az keyvault secret set --name AzureChatClientSecret ` --vault-name $azdenv.AZURE_CHATAPP_KEYVAULT_NAME ` --value $cred.password ` --output json | ConvertFrom-Json $s2 = az keyvault secret set --name AzureChatClientId ` --vault-name $azdenv.AZURE_CHATAPP_KEYVAULT_NAME ` --value $app.appId ` --output json | ConvertFrom-Json azd env set AZURE_CHATAPP_CLIENT_ID $app.appId } else { Write-Host "Application registration $displayName already exists" } }