Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在具有AAD身份验证的azure API应用程序中验证非azure应用程序?_Azure_Azure Active Directory - Fatal编程技术网

如何在具有AAD身份验证的azure API应用程序中验证非azure应用程序?

如何在具有AAD身份验证的azure API应用程序中验证非azure应用程序?,azure,azure-active-directory,Azure,Azure Active Directory,我正在使用部署在Azure应用程序服务上的WEB API应用程序。目前只有AAD用户可以进行身份验证,并且能够访问API方法。现在我们有另一个需求,其中一个本地应用程序将调用我们的API方法。请告诉我如何获取服务主体,以便从这个本地(非azure)应用程序访问我的云API方法。Azure中是否有任何方法可以实现上述要求。没有正式的示例 您需要通过以下方式创建代表您的WEB API应用程序的应用程序注册 因为您的内部部署应用程序相当于守护程序应用程序,所以您应该像下面这样公开应用程序权限: 然后,

我正在使用部署在Azure应用程序服务上的WEB API应用程序。目前只有AAD用户可以进行身份验证,并且能够访问API方法。现在我们有另一个需求,其中一个本地应用程序将调用我们的API方法。请告诉我如何获取服务主体,以便从这个本地(非azure)应用程序访问我的云API方法。Azure中是否有任何方法可以实现上述要求。

没有正式的示例

您需要通过以下方式创建代表您的WEB API应用程序的应用程序注册

因为您的内部部署应用程序相当于守护程序应用程序,所以您应该像下面这样公开应用程序权限:

然后,您可以创建应用程序注册/服务主体(代表您的本地应用程序),该主体将用于对您的WEB API应用程序进行身份验证。您需要通过以下方式将应用程序权限(在上一步中公开)添加到此应用程序注册中

最后,使用获取访问令牌。您可以使用此访问令牌访问WEB API

在msal java中,供您参考


这里是(它是c#但原理是一样的)。

您使用的是哪种编程语言?Java spring boot for API。客户端将是JS。另一个客户端可以是Java spring boot部署在Premise上。您是否尝试过,在示例中,它们的资源都是Microsoft Graph,只需将它们更改为web API AD应用的应用ID URI?