InteractiveBrowserCredential 身份验证失败:AADSTS70011:为输入参数“范围”提供的值无效

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

我正在尝试按照 MsDocs 来延长访问令牌的生命周期。

为此我已经在ubuntu中安装了powershell。

我已安装 Microsoft Graph PowerShell SDK。 并遵循命令。

但是根据命令:

Connect-MgGraph 
    -Scopes  "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"

我打开 Microsoft 页面,登录页面后显示错误:

身份验证失败。您可以返回到应用程序。请随意关闭此浏览器选项卡。

错误详细信息:错误 invalid_scope error_description:为输入参数“范围”提供的值无效。范围“Policy.ReadWrite.ApplicationConfiguration Policy.Read.All Application.ReadWrite.All openid 配置文件offline_access”不存在。

终端也显示类似的错误:

Connect-MgGraph: InteractiveBrowserCredential authentication failed: The provided value for the 
input parameter 'scope' is not valid. The scope 'Policy.ReadWrite.ApplicationConfiguration 
Policy.Read.All Application.ReadWrite.All openid profile offline_access' does not exist.

我从 MsDocs 复制命令仍然显示此错误。

我正在将 Outlook 集成到我的应用程序中。我已经在天蓝色上创建了应用程序,我正在尝试为此更改令牌生命周期。我正在尝试使用用于在 azure 上创建应用程序的同一帐户登录。

powershell ubuntu azure-active-directory microsoft-graph-api microsoft-graph-sdks
1个回答
0
投票

最初,我在 Ubuntu 20.04.6 中安装了 PowerShell 7.4.1 版本:

$PSVersionTable

enter image description here

当我在连接到 Microsoft Graph 时尝试使用个人 Microsoft (Outlook) 帐户登录时,我也遇到了 同样的错误:

Connect-MgGraph -Scopes  "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"

回复:

enter image description here

如本 MS Doc 中所述,不支持使用个人 Microsoft (Outlook) 帐户创建令牌生命周期策略。

要解决该错误,您需要使用本地租户用户帐户登录,并具有以
.onmicrosoft.com

结尾的 admin 访问权限:

enter image description here接受权限的

同意

后,我成功连接到 Microsoft Graph,响应如下: Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"

回复:

enter image description here或者,您还可以通过传递不涉及任何用户交互的客户端 ID 和客户端密钥,作为

服务主体

连接到 Microsoft Graph。 我注册了一个应用程序,并通过像这样授予同意来授予

Application

类型的 API 权限:

enter image description here要通过 PowerShell 将 Microsoft Graph 连接为

服务主体

,您可以使用以下示例脚本: $appId= "appId" $secret = "client_secret" $tenantID = "tenantId" $securedSecret = ConvertTo-SecureString -String $secret -AsPlainText -Force $ClientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $appId, $securedSecret Connect-MgGraph -TenantId $tenantID -ClientSecretCredential $ClientSecretCredential

回复:

enter image description here现在,您可以运行剩余的脚本来创建令牌生命周期策略,如下所示:

# Create a token lifetime policy $params = @{ Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"4:00:00"}}') DisplayName = "WebPolicyScenario" IsOrganizationDefault = $false } $tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id # Display the policy Get-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId

回复:

enter image description here

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