创建带有secret的应用程序时如何添加Mail.Send权限?

问题描述 投票:0回答:1

我正在尝试使用 Azure PowerShell 自动执行创建 Azure AD 应用程序的过程。具体来说,我想创建一个应用程序、添加客户端密钥、授予 Mail.Send 权限并生成令牌,所有这些都在单个 PowerShell 脚本中完成。然而,我遇到了一些挑战。

我能够成功创建应用程序并添加客户端密钥。但是,我不确定如何将 Mail.Send 应用程序权限添加到应用程序。我找到了权限 ID,但不知道实现它的正确命令。

添加权限后,我是否需要明确授予管理员同意,还是会自动处理?我想确保在生成令牌之前一切都设置正确。

这是我正在使用的代码:

Connect-AzAccount

$appName = "MyTestingApp"
$app = New-AzADApplication -DisplayName $appName -IdentifierUris "https://myapp.com"

$secret = New-AzADAppCredential -ApplicationId $app.ApplicationId -EndDate (Get-Date).AddYears(1)

$permissionId = "a0e0c2c0-6b4c-4c98-bcd8-15e7995d8f2b"  # Mail.Send permission ID

$tenantId = "xxxxxxx"
$clientId = $app.ApplicationId
$clientSecret = $secret.SecretText
$tokenUrl = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token"

$body = @{
    client_id     = $clientId
    client_secret = $clientSecret
    scope         = "https://graph.microsoft.com/.default"
    grant_type    = "client_credentials"
}

$response = Invoke-RestMethod -Method Post -Uri $tokenUrl -ContentType "application/x-www-form-urlencoded" -Body $body
$token = $response.access_token
azure-powershell azure-ad-msal azure-identity azure-app-registration
1个回答
0
投票

连接到 Azure 帐户

连接-AzAccount

创建 Azure AD 应用程序

$appName =“MyTestingApp” $app = New-AzADApplication -DisplayName $appName -IdentifierUris "https://myapp.com"

添加客户端密钥

$secret = New-AzADAppCredential -ApplicationId $app.ApplicationId -EndDate (获取日期).AddYears(1)

定义Mail.Send的权限ID

$permissionId = "a0e0c2c0-6b4c-4c98-bcd8-15e7995d8f2b" # 邮件发送权限ID

向应用程序添加 Mail.Send 权限

$resourceId =“00000003-0000-0000-c000-000000000000

© www.soinside.com 2019 - 2024. All rights reserved.