创建应用后,尝试登录OAuth2.0获取accessToken报错'scope' is not valid

匿名
2024-12-20T01:49:24+00:00

{"error":"invalid_scope","error_description":"AADSTS70011: The provided value for the input parameter 'scope' is not valid. The scope 'openid email offline_access https://outlook.office.com/EAS.AccessAsUser.All' is not configured for this tenant. Trace ID: xxxxxx Correlation ID: xxxxxxTimestamp: 2024-12-20 01:43:24Z","error_codes":[70011],"timestamp":"2024-12-20 01:43:24Z","trace_id":"xxxxxxxxx","correlation_id":"xxxxxx"}

#Moved from Outlook/Internet/Outlook.com/Email

Outlook | Web | Outlook 在网上的商用 | 安全性

锁定的问题。 此问题已从 Microsoft 支持社区迁移。 你可投票决定它是否有用,但不能添加评论或回复,也不能关注问题。

0 个注释 无注释
问题作者接受的答案
匿名
2024-12-20T11:27:46+00:00

此响应已自动翻译。 因此,可能存在语法错误或奇异的措辞。

你好 King1,

日安!

很遗憾听到您在登录 OAuth2.0 以获取 accessToken 时遇到问题。我理解收到错误消息是多么令人沮丧,尤其是当您尝试完成关键任务时。

对于由此造成的不便,我深表歉意,并感谢您在我们努力解决此问题时的耐心等待。

为了更好地了解此问题,您能否提供有关以下内容的更多信息:

  1. 应用程序是否在已授予权限的正确 Azure AD 租户中注册?
  2. 是否已在 Azure AD 中为此应用程序授予管理员同意所有必需的权限?
  3. 您是否在 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 社区版主

此答案是否有帮助?

1 个人认为此答案很有帮助。
0 个注释 无注释

2 个其他答案

排序依据: 非常有帮助
  1. 匿名
    2024-12-24T02:13:12+00:00

    此响应已自动翻译。 因此,可能存在语法错误或奇异的措辞。

    你好 King1,

    感谢您的跟进和确认切换到 解决了 https://outlook.office.com/.default 问题。我很高兴所提供的步骤对您的情况有效!

    为了解决您在使用 https://outlook.office.com/EAS.AccessAsUser.All 范围时发生错误的原因的问题,即使在确认管理员已授予必要的权限之后,以下是一些可能的原因:

    范围弃用或限制

    • 该 EAS.AccessAsUser.All 范围特定于 Exchange ActiveSync (EAS),可能无法为所有租户完全支持或配置。
    • Microsoft 会定期更新和弃用特定的 API 范围。如果您的租户不再支持或限制此范围,则可能会导致错误。
    • 查看 Microsoft Graph 权限文档 ,确保此范围在您的环境中仍然有效。

    API 和 Scope 不匹配

    • 该 https://outlook.office.com/ 终端节点通常与 Microsoft Graph API 一起使用。范围 EAS.AccessAsUser.All 可能属于旧版 Azure AD Graph 或 Exchange Web Services (EWS) API,它们与新式图形 API 不同。
    • 使用用于其他 API 终端节点的 Scope 可能会导致验证错误。

    特定于租户的限制

    • 由于组织或 Microsoft 设置的合规性或安全策略,某些 API 范围在某些租户中受到限制或禁用。这可能会阻止使用 EAS.AccessAsUser.All,即使授予了权限也是如此。

    OAuth2.0 令牌请求语法

    • 必须为指定的终端节点显式启用范围。在以下情况下,在 scope 参数中使用 https://outlook.office.com/EAS.AccessAsUser.All 可能会导致问题:
      • 资源 ()https://outlook.office.com 无法识别特定权限。
      • .default 该范围应用于隐式包含所有已授予的权限。
    • 检查 Azure AD 应用注册中的 API 权限 ,以验证是否已 EAS.AccessAsUser.All 在授予的权限下列出。
    • 使用 Microsoft Graph 浏览器 或其他测试工具验证此范围的可用性。
    • 请与租户的管理员联系,以检查范围是否在租户级别受到限制或禁用。
    • 请坚持使用 .default 范围,因为它可确保包含为应用程序显式授予的所有权限。
    • 如果需要专门使用 EAS.AccessAsUser.All ,请咨询 Microsoft 支持团队或组织的管理员,以验证其与租户和终端节点的兼容性。

    我希望这有助于澄清事情!如果您有任何其他问题或疑虑,请告诉我。

    此外,如果您认为 提供给  您的查询 的信息 有帮助, 欢迎您 对此回复进行  投票 。

    如果您可以通过在“此回复有帮助吗”下的选项进行投票来标记对您有帮助的回复,那就太好了。这样,您就可以将答案带到线程的最前沿,提供更好的可见性并帮助其他用户找到有价值的指导。

    您的反馈对我们敬业的社区成员来说意义重大。

    感谢您 的友好合作。

    此致敬意

    Microsoft 社区版主

    此答案是否有帮助?

    0 个注释 无注释
  2. 匿名
    2024-12-23T11:17:42+00:00

    修改为https://outlook.office.com/.default之后确认有效,感谢回复,顺便问一下,为什么我设置https://outlook.office.com/EAS.AccessAsUser.All就报错呢?我确认已经为此应用程序授予管理员同意所有必需的权限

    此答案是否有帮助?

    0 个注释 无注释