Azure active directory 允许访问第三方应用程序

Azure active directory 允许访问第三方应用程序,azure-active-directory,microsoft-graph-api,Azure Active Directory,Microsoft Graph Api,我是一名开发人员,正在开发一个通过Graph API访问O365数据的应用程序。我已在我的公司帐户下注册了一份申请。我在每个用户的基础上进行身份验证。现在,我正在尝试让它工作,以便租户管理员可以向我的应用程序授予在整个组织范围内访问数据的权限。我也能做到这一点——我使用/AdminApprove端点将管理员带到一个页面,在那里他授予了许可 我想知道的是文档中的一句话:“您可以依靠管理员在Azure门户上授予您的应用程序所需的权限”。我正在试图弄清楚这个过程是什么,这样我就可以为管理员用户记录它。

我是一名开发人员,正在开发一个通过Graph API访问O365数据的应用程序。我已在我的公司帐户下注册了一份申请。我在每个用户的基础上进行身份验证。现在,我正在尝试让它工作,以便租户管理员可以向我的应用程序授予在整个组织范围内访问数据的权限。我也能做到这一点——我使用/AdminApprove端点将管理员带到一个页面,在那里他授予了许可

我想知道的是文档中的一句话:“您可以依靠管理员在Azure门户上授予您的应用程序所需的权限”。我正在试图弄清楚这个过程是什么,这样我就可以为管理员用户记录它。我想这可能是去应用注册-在那里我看到一个选项,创建一个新的注册。但是它有自己的客户端Id。我不需要给它我自己应用程序的客户端Id吗?或者是租户管理员将其应用程序的客户端Id提供给我的应用程序的想法?还是我完全走错了方向


BTW,如果它是相关的,我不使用任何认证库,只是从Windows桌面上运行的C++程序直接进行HTTP调用。只有您或租户中的管理员可以向您的应用程序授予权限。其他租户的管理员可以授予使用您的应用程序的许可,但他们无法控制权限

更新:

您可以通过调用管理员同意端点来授予管理员同意

https://login.microsoftonline.com/common/v2.0/adminconsent?
  client_id={your_tenant_client_id}
  &state=12345
  &redirect_uri=http://localhost/myapp/permissions
    &scope=
    https://graph.microsoft.com/.default

如果你想的话。应用程序必须已在租户中设置。例如,如果至少有一个用户已经同意应用程序,则可以在租户中设置应用程序

这是完全正确的。如果应用程序所需的静态权限发生更改,管理员可以再次通过管理员同意流来接受这些权限。或者,您可以在需要时使用动态同意来要求新的作用域。感谢您的评论。但对于租户管理员如何使用Azure门户授予对我的应用程序的访问权,我仍然没有一个模糊的概念。有人能告诉我一个循序渐进的过程吗?谢谢-通过每用户身份验证是我一直在寻找的秘密。现在我的应用程序显示在Azure的企业应用程序下。我现在有一个“同意”按钮可以按下。这似乎与只访问AdminApprove端点完全相同,因此我不确定使用门户是否有任何优势。但我想我现在可以走了。