Authentication 如何调用受AAD保护的azure函数

Authentication 如何调用受AAD保护的azure函数,authentication,azure-active-directory,azure-functions,Authentication,Azure Active Directory,Azure Functions,我们希望调用azure AD为其启用身份验证的azure函数。我们希望从外部工具调用此函数,该工具可以自动使用http,而不是用户获得登录提示然后登录 你知道怎么做吗 谢谢 Girish因此,一般来说,要调用Azure函数(由AAD保护),您必须找到一种获得令牌的方法,该令牌将允许您进行身份验证。如果您未能做到这一点,您将获得HTTP 403并将被重定向(或接收重定向链接)以登录 如果要自动执行此操作,我假设您需要在租户中创建服务主体: 然后,您必须以某种方式获得访问令牌-通过使用裸HTTP请求

我们希望调用azure AD为其启用身份验证的azure函数。我们希望从外部工具调用此函数,该工具可以自动使用http,而不是用户获得登录提示然后登录

你知道怎么做吗

谢谢
Girish

因此,一般来说,要调用Azure函数(由AAD保护),您必须找到一种获得令牌的方法,该令牌将允许您进行身份验证。如果您未能做到这一点,您将获得HTTP 403并将被重定向(或接收重定向链接)以登录

如果要自动执行此操作,我假设您需要在租户中创建服务主体:

然后,您必须以某种方式获得访问令牌-通过使用裸HTTP请求:

POST https://{tenant}/oauth2/v2.0/token?client_id={client-id}
&scope={scope}
&code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&grant_type=authorization_code
&client_secret=JqQX2PNo9bpM0uEihUPzyrh
这里描述的是:

或者使用Microsoft.IdentityModel:

AuthenticationContext = new AuthenticationContext("https://login.microsoftonline.com/" + Tenant);
Credential = new ClientCredential(clientId, clientSecret);

var result = await AuthenticationContext.AcquireTokenAsync("https://graph.windows.net", Credential);
return result.AccessToken;
然后,您必须在每个请求中添加一个承载令牌,这将允许您在没有登录提示的情况下进行身份验证