在面向企业的 Outlook 网页版中管理安全设置和保护措施
此响应已自动翻译。 因此,可能存在语法错误或奇异的措辞。
你好 King1,
日安!
很遗憾听到您在登录 OAuth2.0 以获取 accessToken 时遇到问题。我理解收到错误消息是多么令人沮丧,尤其是当您尝试完成关键任务时。
对于由此造成的不便,我深表歉意,并感谢您在我们努力解决此问题时的耐心等待。
为了更好地了解此问题,您能否提供有关以下内容的更多信息:
- 应用程序是否在已授予权限的正确 Azure AD 租户中注册?
- 是否已在 Azure AD 中为此应用程序授予管理员同意所有必需的权限?
- 您是否在 OAuth 请求中指定了正确的范围?格式应与您尝试访问的资源保持一致。
错误消息“AADSTS70011:为输入参数”scope“提供的值无效”表示未为租户配置范围“openid email offline_access https://outlook.office.com/EAS.AccessAsUser.All”。这意味着您请求的权限未在 Azure AD 应用程序中正确设置或同意 。
根据处理此类问题的经验,我准备了本指南来帮助您:
- 在 Azure AD 中验证 API 权限:
- 转到 Azure 门户 > Azure Active Directory > 应用注册 > 选择你的应用。
- 在 API 权限 下 检查,确保列出所有请求的权限(例如
EAS.AccessAsUser.All)并获得管理员同意。 - 如果没有,请添加缺少的权限并授予管理员同意。
- 确保令牌请求中的范围正确:
- 使用如下所示的 scope 格式:
https://outlook.office.com/.default
- 范围
.default包括为您的应用程序授予该资源的所有权限。 - 或者,根据需要指定单个范围(如
Mail.Read、Mail.Send或其他)。 - 授予管理员同意:如果尚未授予管理员同意,请执行以下操作:
- 在 Azure AD 中,> 应用注册 > 选择您的应用。
- 单击 Grant Admin Consent (授予管理员同意 ) 以获取列出的权限。
- 更新您的 OAuth 请求:调整令牌请求中的 scope 参数:
scope=https://outlook.office.com/.default offline_access
- 这样可以避免使用不受支持的权限,例如
EAS.AccessAsUser.All. - 使用 PowerShell 进行验证:您可以使用 PowerShell 确保正确配置权限:
$app = Get-AzureADServicePrincipal -SearchString “YourAppName”
$appId = $app。应用程序 ID
$requiredResourceAccess = @(
@{
“ResourceAppId” = “00000002-0000-0ff1-ce00-0000000000000”;# Microsoft Graph
“资源访问” = @(
@{
“id” = “ScopeId”;# 替换为实际的 scope ID
“类型” = “范围”
}
)
}
)
Set-AzureADApplication -ObjectId $appId -RequiredResourceAccess $requiredResourceAccess
租户限制:如果此权限受租户策略限制,请咨询您的管理员或相应地调整权限。
这些步骤应有助于解决 invalid scope 错误的问题。
如果在尝试这些步骤后问题仍然存在, 我建议您向 Microsoft 支持部门提交支持票证,以便我们进一步调查此问题。我们的支持团队将能够更深入地研究您的帐户设置和规则,以确定问题的根本原因。- 获取支持 - Microsoft 365 管理员 |Microsoft 学习。
请理解,我们的初始回复不一定能立即解决问题。但是,在您的帮助下和更详细的信息,我们可以一起找到解决方案。
非常感谢您的耐心和理解,也感谢您的时间和合作。有好的一天!
真诚地
Microsoft 社区版主