Azure Active Directory中原生应用和web应用的确切区别是什么?



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

在创建web应用程序时,请求两个值1。登录URL和2。应用ID url。这些值的用途是什么?我们需要真实世界的url还是只要https://localhost:randomePort就够了?

另一方面,当创建本机应用程序时,我只能看到一个必需值'Redirect 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

但是我如何使用这样的REST调用获得本地应用程序的访问令牌?因为本机应用程序没有客户端秘密

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

还有一件事,上面的REST调用示例验证应用程序,我如何使用REST调用使用他的凭据验证用户?

本机应用程序是OAuth2术语中的公共客户端。这些应用程序是在设备上运行的,并且不被信任来维护秘密——因此,它们在目录中的条目没有相应的属性。没有秘密,就没有办法断言应用程序的身份——因此这些应用程序无法获得应用程序级别的权限,门户用户体验反映了这一点。相反,web应用程序也是OAuth2术语中的机密客户端。它们可以为用户获得委托令牌,但也可以使用客户端凭据作为自己获得令牌。原生应用可以通过OAuth2授权授予为用户获取令牌。您可以在https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-scenarios/上找到所有支持的拓扑的完整概述。每个场景描述指向更多面向实现的指导。

相关内容

  • 没有找到相关文章

最新更新