Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/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
Azure active directory 是否可以通过C#在没有Azure密钥的情况下使用ADAL.net库生成令牌?_Azure Active Directory_Azure Functions_Adal - Fatal编程技术网

Azure active directory 是否可以通过C#在没有Azure密钥的情况下使用ADAL.net库生成令牌?

Azure active directory 是否可以通过C#在没有Azure密钥的情况下使用ADAL.net库生成令牌?,azure-active-directory,azure-functions,adal,Azure Active Directory,Azure Functions,Adal,我从Azure函数调用同一Azure订阅(同一Azure租户ID)下另一Azure函数(http触发器)的端点 所以现在我有了目标Azure函数的“TenantID”和“ClientID”,但我没有它的密钥。是否可以在没有密钥的情况下生成令牌 string authority = string.Format(CultureInfo.InvariantCulture, authorityUri, tenantId); AuthenticationContext authContext

我从Azure函数调用同一Azure订阅(同一Azure租户ID)下另一Azure函数(http触发器)的端点

所以现在我有了目标Azure函数的“TenantID”和“ClientID”,但我没有它的密钥。是否可以在没有密钥的情况下生成令牌

   string authority = string.Format(CultureInfo.InvariantCulture, authorityUri, tenantId);

   AuthenticationContext authContext = new AuthenticationContext(authority);

   ClientCredential credential = new ClientCredential(clientId, "");

   var result = await authContext.AcquireTokenAsync(resourceUri, credential);

PS:从angular,我们可以使用ADAL库访问相同的API,而不需要密钥

如果您没有登录用户,则应用程序必须使用密码或证书进行身份验证

如果您有一个可以登录的用户,那么您可以使用(例如)授权代码流来获取令牌,允许您代表该用户调用API


但最终,您的应用程序或用户(或两者)必须进行身份验证才能获得令牌。

情况如下:有一个调用后端Azure函数的angular函数。@Aswajith您需要查看openid/oauth。如果你不理解协议,那对你来说就很难了。我想这里的问题还不清楚。角度端使用ADAL进行单点登录身份验证并生成令牌。该令牌被发送到Azure函数http请求,并在Azure函数处对其进行身份验证。现在问题开始了,现在我从Azure函数调用另一个Azure函数API(他们已经共享了我的客户端ID,但他们没有发送机密ID),现在我的问题是,是否可以在没有密钥的情况下调用该API?不,在这一点上没有不需要机密/证书的身份验证流。客户端凭据和代表都需要机密。或者您可以使用托管标识?:)您是否在门户上为您的端点Azure功能(http触发器)设置了应用程序服务身份验证?或者您在函数代码中设置了身份验证逻辑?目前我正在Azure函数中编写C#代码以访问另一个Azure函数,但我正在调用的另一个Azure函数已经在portalOK中设置了所有内容。那么我可以知道您是想使用用户权限还是仅使用应用程序权限访问函数(http触发器)?应用程序权限,因为我只有租户ID和客户端ID。