Azure Active Directory中本机应用程序和web应用程序的确切区别是什么

Azure Active Directory中本机应用程序和web应用程序的确切区别是什么,azure,azure-active-directory,Azure,Azure Active Directory,当我们在Azure Active Directory中注册应用程序以使用graph api时,我看到有两种类型的应用程序Web应用程序和本机应用程序 创建web应用程序时,需要两个值1。登录URL和2。应用程序ID url。这些值的用途是什么?我们需要真实世界的url还是仅仅需要 另一方面,在创建本机应用程序时,我只能看到一个必需的值“重定向URL” 我可以使用REST调用获取web应用程序的访问令牌 POST https://login.microsoftonline.com/<tena

当我们在Azure Active Directory中注册应用程序以使用graph api时,我看到有两种类型的应用程序Web应用程序和本机应用程序

创建web应用程序时,需要两个值1。登录URL和2。应用程序ID url。这些值的用途是什么?我们需要真实世界的url还是仅仅需要

另一方面,在创建本机应用程序时,我只能看到一个必需的值“重定向URL”

我可以使用REST调用获取web应用程序的访问令牌

POST https://login.microsoftonline.com/<tenant-id>/oauth2/token

grant_type      client_credentials
client_id       (the client ID of the calling service application in the AD)
client secret   (the key configured in the calling service application in the AD)
resource        https://graph.windows.net
POSThttps://login.microsoftonline.com//oauth2/token
授予\u类型客户端\u凭据
客户端id(AD中呼叫服务应用程序的客户端id)
客户端密码(AD中呼叫服务应用程序中配置的密钥)
资源https://graph.windows.net
但如何使用此类REST调用获取本机应用的访问令牌?因为本机应用程序没有客户端密码

说到权限,对于本机应用程序,我只能看到“委派权限”选项可用,而对于web应用程序,我可以看到“应用程序权限”和“委派权限”选项


还有一件事,上面的REST调用示例对应用程序进行身份验证,我如何使用REST调用使用其凭据对用户进行身份验证?

按照OAuth2的说法,本机应用程序是公共客户端。这些应用程序是在设备上运行的,不受信任,无法维护机密,因此,它们在目录中的条目没有相应的属性。如果没有秘密,就无法断言应用程序的身份-因此此类应用程序无法获得应用程序级别的权限,门户用户体验反映了这一点。 相反,用OAuth2的话说,web应用程序是机密客户机。他们可以为他们的用户获得委托令牌,但他们也可以使用客户机凭据以自己的身份获得令牌。
本机应用程序可以通过OAuth2授权为用户获取令牌。您可以在上找到所有受支持拓扑的完整概述。每个场景描述都指向更多面向实施的指导。

谢谢您提供的信息。还有一件事,我在哪里可以获得有关“Windows Azure Active Directory”应用程序上需要的“应用程序权限”的详细信息,以便使用客户端web应用程序更新、删除和创建对象。我认为“读取目录数据”将用于读取对象信息,而“读取和写入目录数据”将用于更新对象,但对于某些web应用程序,它似乎不起作用Hi Sagar,有关不同应用程序/委派权限与要访问Graph API的权限之间映射的信息,请参阅以下博文:和以下MSDN博文: