如何将范围和 ApplicationURI 添加到 Azure AD 应用程序注册?

How to add a scope and ApplicationURI to Azure AD Application Registration?

我有一个 powershell 脚本可以创建 azure 广告应用注册。我已经能够创建它,添加 ms graph 权限并创建一个秘密。这是我目前所拥有的:

$newapp = New-AzADApplication -DisplayName "mynewApp" -AvailableToOtherTenants $false
Write-Output $newapp
# add a certificate / client secret
$appCredentials = New-AzADAppCredential -ApplicationId $newapp.AppId -StartDate $startDate -EndDate $endDate

$identifierUris = @()
$identifierUris += "api://$newapp.AppId"
$webAppUrl = "https://$functionAppName.azurewebsites.net"
# when you add a redirect URI Azure creates a "web" policy. 
$redirectUris = @()
$redirectUris += "$webAppUrl"   

Update-AzADApplication -ApplicationId $newapp.AppId -ReplyUrl $redirectUris | Out-Null
#Adds MS Graph User.Read permission
Add-AzADAppPermission -ApplicationId $newapp.AppId -ApiId "00000003-0000-0000-c000-000000000000" -PermissionId "e1fe6dd8-ba31-4d61-89e7-88639da4683d"

但现在我需要知道如何创建如下所示的应用程序 Uri,以及如何创建范围。

您可以使用带有以下参数的New-AzureADApplication命令

  • 添加标识符 URI - 使用 -IdentifierUris 参数。
  • 要添加范围 - 使用 -Oauth2Permissions 参数。
New-AzureADApplication
[-AvailableToOtherTenants <Boolean>]
-DisplayName <String>
[-IdentifierUris <System.Collections.Generic.List`1[System.String]>]
[-Oauth2Permissions <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.OAuth2Permission]>]
[-ReplyUrls <System.Collections.Generic.List`1[System.String]>]
[-RequiredResourceAccess <System.Collections.Generic.List`1[Microsoft.Open.AzureAD.Model.RequiredResourceAccess]>]

例如,您可以创建 OAuth2Permission 对象,如 -

$scope = New-Object Microsoft.Open.AzureAD.Model.OAuth2Permission
$scope.Id = New-Guid
$scope.Value = "user_impersonation"
$scope.UserConsentDisplayName = "<value>"
$scope.UserConsentDescription = "<value>"
$scope.AdminConsentDisplayName = "<value>"
$scope.AdminConsentDescription = "<value>"
$scope.IsEnabled = $true
$scope.Type = "User"

有关详细信息,请参阅 this 文档。

请检查以下命令以创建 ApplicationId Uri,

$newapp = New-AzADApplication -DisplayName "mynewApp" -AvailableToOtherTenants $false
$myappId=$newApp.AppId
Set-AzADApplication -ApplicationId $newApp.AppId -IdentifierUris "api://$myappId"

可能需要一点时间在门户中反映。

但要创建范围,我们可能需要使用 azure ad 模块,并通过启用 Oauth2permissions

为用户模拟创建一个新 ID

请检查参考资料是否有帮助

  1. SetupApplications ps1
  2. azure-ad-app-registration-create-scopes