48
48
Invoke-WebRequest -Uri "https://login.microsoftonline.com/${{ parameters.tenantId }}/oauth2/v2.0/token" -Method "POST" -Body $body | ConvertFrom-Json
49
49
}
50
50
51
- function CreateAppRegistration($token, $appName) {
51
+ function CreateAppRegistration($token, $appName, $audience ) {
52
52
# Create App Registration
53
53
54
54
$headers = @{
57
57
58
58
$body = @{
59
59
displayName = $appName;
60
- signInAudience = "AzureADandPersonalMicrosoftAccount"
60
+ signInAudience = $audience;
61
61
} | ConvertTo-Json
62
62
63
63
$app = Invoke-WebRequest -Uri "https://graph.microsoft.com/v1.0/applications" -Method "POST" -Headers $headers -Body $body -ContentType "application/json" | ConvertFrom-Json;
@@ -73,6 +73,16 @@ steps:
73
73
$app | Add-Member -MemberType NoteProperty -Name secret -Value $secret.secretText;
74
74
75
75
$app
76
+
77
+ if ($audience -eq "AzureADMyOrg") {
78
+ # Create Service Principal Object
79
+
80
+ $body = @{
81
+ appId = $app.appId;
82
+ } | ConvertTo-Json
83
+
84
+ $servicePpal = Invoke-WebRequest -Uri "https://graph.microsoft.com/v1.0/servicePrincipals" -Method "POST" -Headers $headers -Body $body -ContentType "application/json" | ConvertFrom-Json;
85
+ }
76
86
}
77
87
78
88
function SaveAppRegistrationIntoKeyVault($vaultName, $bot, $app) {
@@ -107,17 +117,22 @@ steps:
107
117
@{ appName = "bffnsimplehostbotpython"; variables = @{ appId = "BffnSimpleHostBotPythonAppId"; appSecret = "BffnSimpleHostBotPythonAppSecret"; objectId = "BffnSimpleHostBotPythonAppObjectId" }},
108
118
@{ appName = "bffnechoskillbotpython"; variables = @{ appId = "BffnEchoSkillBotPythonAppId"; appSecret = "BffnEchoSkillBotPythonAppSecret"; objectId = "BffnEchoSkillBotPythonAppObjectId" }},
109
119
@{ appName = "bffnwaterfallhostbotpython"; variables = @{ appId = "BffnWaterfallHostBotPythonAppId"; appSecret = "BffnWaterfallHostBotPythonAppSecret"; objectId = "BffnWaterfallHostBotPythonAppObjectId" }},
110
- @{ appName = "bffnwaterfallskillbotpython"; variables = @{ appId = "BffnWaterfallSkillBotPythonAppId"; appSecret = "BffnWaterfallSkillBotPythonAppSecret"; objectId = "BffnWaterfallSkillBotPythonAppObjectId" }}
120
+ @{ appName = "bffnwaterfallskillbotpython"; variables = @{ appId = "BffnWaterfallSkillBotPythonAppId"; appSecret = "BffnWaterfallSkillBotPythonAppSecret"; objectId = "BffnWaterfallSkillBotPythonAppObjectId" }},
121
+ @{ appName = "bffnsimplehostbotdotnetst"; variables = @{ appId = "BffnSimpleHostBotDotNetSTAppId"; appSecret = "BffnSimpleHostBotDotNetSTAppSecret"; objectId = "BffnSimpleHostBotDotNetSTAppObjectId"; signInAudience = "AzureADMyOrg" }},
122
+ @{ appName = "bffnsimplehostbotjsst"; variables = @{ appId = "BffnSimpleHostBotJSSTAppId"; appSecret = "BffnSimpleHostBotJSSTAppSecret"; objectId = "BffnSimpleHostBotJSSTAppObjectId"; signInAudience = "AzureADMyOrg" }},
123
+ @{ appName = "bffnechoskillbotdotnetst"; variables = @{ appId = "BffnEchoSkillBotDotNetSTAppId"; appSecret = "BffnEchoSkillBotDotNetSTAppSecret"; objectId = "BffnEchoSkillBotDotNetSTObjectId"; signInAudience = "AzureADMyOrg" }},
124
+ @{ appName = "bffnechoskillbotjsst"; variables = @{ appId = "BffnEchoSkillBotJSSTAppId"; appSecret = "BffnEchoSkillBotJSSTAppSecret"; objectId = "BffnEchoSkillBotJSSTAppObjectId"; signInAudience = "AzureADMyOrg" }}
111
125
)
112
126
113
127
$token = GetToken
114
128
115
129
foreach ($bot in $bots) {
116
130
$botName = "$($bot.appName)${{ parameters.resourceSuffix }}"
131
+ $audience = $($bot.variables.signInAudience) ?? "AzureADMultipleOrgs"
117
132
Write-Host "`n[$botName] Starting"
118
133
Write-Host "Creating App Registration ..."
119
-
120
- $app = CreateAppRegistration $token $botName
134
+
135
+ $app = CreateAppRegistration $token $botName $audience
121
136
Write-Host "
122
137
App Registration:
123
138
Name: $botName
0 commit comments