Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
Angularjs 在Azure上管理从控制台应用程序到Web API的访问_Angularjs_Azure_Azure Web App Service_Azure Active Directory - Fatal编程技术网

Angularjs 在Azure上管理从控制台应用程序到Web API的访问

Angularjs 在Azure上管理从控制台应用程序到Web API的访问,angularjs,azure,azure-web-app-service,azure-active-directory,Angularjs,Azure,Azure Web App Service,Azure Active Directory,我在Azure上部署了一个Angular应用程序,该应用程序由Azure Active Directory保护。为了实现这一点,我遵循以下指南: 因此,为了查询网站的Web API,用户需要在Azure Active Directory上进行身份验证。到目前为止,一切都很顺利 现在,我们有一个内部服务,没有部署在Azure上,它需要查询该Web API的方法,正如前面提到的那样,该方法已经是安全的 在不使用Api管理服务的情况下,有没有一种方法可以授予对内部服务的访问权,以便在不需要使用AAD用

我在Azure上部署了一个Angular应用程序,该应用程序由Azure Active Directory保护。为了实现这一点,我遵循以下指南:

因此,为了查询网站的Web API,用户需要在Azure Active Directory上进行身份验证。到目前为止,一切都很顺利

现在,我们有一个内部服务,没有部署在Azure上,它需要查询该Web API的方法,正如前面提到的那样,该方法已经是安全的

在不使用Api管理服务的情况下,有没有一种方法可以授予对内部服务的访问权,以便在不需要使用AAD用户名/密码的情况下调用安全的Web Api


我尝试使用ADAL Library,但我看到的所有示例都会提示AAD用户名密码登录

要调用受Azure AD保护的web API(无需交互即可提供用户名和密码),我们可以使用客户端凭据流(请参阅)

下面是使用azure activedirectory库for dotnet供您参考的代码:

string authority = "https://login.microsoftonline.com/{tenantId}";
string clientId = "";
string secret = "";
string resource = "";

var credential = new ClientCredential(clientId, secret);
AuthenticationContext authContext = new AuthenticationContext(authority);
var token = authContext.AcquireTokenAsync(resource, credential).Result.AccessToken;

Console.WriteLine(token);

是的,在那里。我不知道在Azure上把密钥放在哪里才能打电话。谢谢