Azure AD作用域、权限和令牌如何与公开API一起工作



我目前正在使用React Native应用程序,该应用程序使用Azure作为后端,并且在需要自定义范围的Azure LogicApp中调用API时遇到困难。我们在";应用注册/公开API";。(屏幕热曝光API(

在移动应用程序中,我请求范围";openid"简档"电子邮件"offline_access">。我需要调用Microsoft Graph获取用户信息。这没有问题,因为我们在AppRegistration/permissions中添加了所需的权限(User.ReadWrite.All(。

  • 我可以根据需要呼叫
  • 我得到了我需要的刷新令牌

但由于令牌无效(http 401(,我无法调用我们的API。

所以问题是,如何在AppRegistration中正确设置权限和作用域

我尝试过的:

  • 为移动应用程序添加所需范围

    • 这导致我的其他作用域";消失";。所以在我解码的令牌中,我只能看到这个范围
    • 此外,我没有收到有效的刷新令牌,也无法使用我得到的访问令牌调用Microsoft Graph
  • 不向移动应用程序添加范围,而是将自定义API的权限添加到权限中。(屏幕截图权限(

    • 这样我仍然不能调用自定义API

我真的不明白为什么我从移动应用程序请求的作用域被忽略,以及为什么当我从"请求自定义作用域时,AppRegistration的权限也不起作用;暴露API";。

正如Tiny Wang所说,我必须获得2对代币。每个API资源一个。

最新更新