繁体   English   中英

使用 Powershell 将范围添加到 Azure AD 应用程序(公开 API)

[英]Adding Scopes to Azure AD Application with Powershell (Expose an API)

我想使用 Powershell 添加 Scope 到 Azure AD 应用程序/服务主体(UI=公开 API)。

$app = New-MgApplication -DisplayName $name -SignInAudience "AzureADMyOrg"
Update-MgApplication -ApplicationId $app.id -IdentifierUris @("api://$($app.AppId)")

$oauth_permission_scopes = @{
        AdminConsentDescription = "admin desc"
        AdminConsentDisplayName = "admin name"
        Type = "Admin"
        Value = "Read.all"
        Id = $([guid]::NewGuid())
    }
$sp = New-MgServicePrincipal -AppId $app.AppId -Notes $description -Tags @("HideApp","WindowsAzureActiveDirectoryIntegratedApp")  #HideApp=VisibleToUsers
Update-MgServicePrincipal -ServicePrincipalId $sp.Id -Oauth2PermissionScopes $oauth_permission_scopes

但我收到消息:

Update-MgServicePrincipal_UpdateExpanded1: Property 'oauth2PermissionScopes' is read-only and cannot be set.

这只能在用户界面中添加吗?!

我试图在我的环境中重现相同的结果并得到以下结果:

我运行了与您相同的代码来添加范围并得到了如下相同的错误

在此处输入图像描述

当我在门户中检查相同时,应用程序已创建但未添加scope ,如下所示:

在此处输入图像描述

要使用 PowerShell(公开 API)将scope添加到 Azure AD 应用程序,您需要按照Cpt.Whale的建议修改您的脚本,如下所示:

$api = @{
    oauth2PermissionScopes = @(
        @{
        AdminConsentDescription = "admin desc"
        AdminConsentDisplayName = "admin name"
        Type = "Admin"
        Value = "Read.all"
        Id = $([guid]::NewGuid())
    }
    )
}

Update-MgApplication -ApplicationId $app.id -Api $api

回复:

在此处输入图像描述

当我在门户中检查相同时, scope 已成功添加到Expose an API选项卡中,如下所示:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM