C# Azure逻辑应用程序使用MSI通过WebApp进行身份验证
有没有人在LogicApp和WebApp之间实现过MSI身份验证?(假设这是可能的)。我能找到的唯一例子就是将MSI与Keyvault、存储等服务结合使用。这可以开箱即用。通过以下简单步骤,您可以从Logic App调用C# Azure逻辑应用程序使用MSI通过WebApp进行身份验证,c#,azure,azure-logic-apps,azure-managed-identity,C#,Azure,Azure Logic Apps,Azure Managed Identity,有没有人在LogicApp和WebApp之间实现过MSI身份验证?(假设这是可能的)。我能找到的唯一例子就是将MSI与Keyvault、存储等服务结合使用。这可以开箱即用。通过以下简单步骤,您可以从Logic App调用MSIauthenticatedWeb API: 将MSI添加到您的逻辑应用程序中 在Web API的应用程序服务中为逻辑应用程序添加RBAC 在逻辑应用程序中添加具有如下设置的HTTP操作,以调用Web API(不要添加受众并填写API的其他详细信息): 有关更多详细信
MSI
authenticatedWeb API
:
MSI
添加到您的逻辑应用程序中
RBAC
HTTP操作
,以调用Web API(不要添加受众
并填写API
的其他详细信息):
有关更多详细信息,请访问如果我理解正确,您的API托管在Azure web app中,并且您希望使用MSI在logic app中调用API,如果是,您可以按照以下步骤操作
身份验证/授权
->启用web应用的Azure AD auth,请按照以下步骤操作创建新的广告应用
,然后Azure将自动为您配置广告应用,这可以避免许多配置问题
最后,选择使用Azure Active Directory登录
,所有配置完成后将如下图所示
Identity
->
观众
替换为web app的URL
您希望通过MSI身份验证在逻辑应用程序和web应用程序之间执行什么操作?因此,基本上我希望消除基本身份验证等。我希望能够通过MSI身份验证调用(GET/POST/etc)我们自己的API,问题是我只找到从API获取令牌以调用其他Azure服务的示例。不用说,除非使用MSI验证,否则API将无法访问。我不想调用存储或任何其他服务。我希望我的API在接收请求时使用MSI身份验证。这可能吗?(为了澄清我不想在我的API中获得一个令牌来调用Azure服务)我已经解释了同样的事情,如果我不清楚的话,很抱歉。它是从逻辑应用程序调用MSI认证的Web API。如果我误解了你的问题,请纠正我。好的,我会再次检查你的答案,看看我可能遗漏了什么。由于我的API仍然可以从外部访问,而无需使用MSI或任何东西。为此,请先在您的Web API中添加MSI:Hi singhh msft,对不起,我离开了一段时间,我将在本周尽快尝试此功能并与您联系。我仍然要解决这个问题,所以谢谢你的帮助!我会尝试一下,让你知道它是否有效。我正在处理同一个问题,但它不起作用。我的应用程序正在尝试交互流,因此我得到了一个302,整个运行都失败了。如果我直接拥有该令牌,那么我可以将其添加为授权标头,这样就可以了。其他信息:我在这方面遇到了问题,直到我意识到我使用的是Visual Studio的身份验证流,而不是Azure App Services中内置的身份验证流。使用Visual Studio的身份验证流不支持静默身份验证(文档中称为“服务器定向流”)。您可以在此处阅读有关身份验证流程的信息: