如何将Azure Web App配置为Web App身份验证?

如何将Azure Web App配置为Web App身份验证?,azure,azure-active-directory,azure-web-app-service,azure-authentication,Azure,Azure Active Directory,Azure Web App Service,Azure Authentication,我有两个Azure Web应用程序,一个是网站,充当前端,另一个是API,充当后端。我想将身份验证添加到此解决方案中,以便只有前端可以访问后端。为此,我在后端Web应用程序上配置了AAD身份验证,并使用express选项创建了一个新的Azure AD应用程序,该应用程序配置了正确的回复URL、API权限(User.Read)等。然后,当我导航到后端Web应用程序URL时,我需要使用我的Azure AD凭据登录 我需要采取哪些步骤来限制这一点,以使我作为用户无法登录,并且只有前端Web应用程序可以

我有两个Azure Web应用程序,一个是网站,充当前端,另一个是API,充当后端。我想将身份验证添加到此解决方案中,以便只有前端可以访问后端。为此,我在后端Web应用程序上配置了AAD身份验证,并使用express选项创建了一个新的Azure AD应用程序,该应用程序配置了正确的回复URL、API权限(User.Read)等。然后,当我导航到后端Web应用程序URL时,我需要使用我的Azure AD凭据登录

我需要采取哪些步骤来限制这一点,以使我作为用户无法登录,并且只有前端Web应用程序可以通过后端API的身份验证

例如,我可以在后端API的Azure AD应用程序上设置“授权客户端应用程序”。但是,我需要有一个应用程序ID才能添加授权客户端,我希望为此使用前端Web应用程序的托管标识,而不是新的和附加的Azure AD应用程序


知道怎么做吗?

这很奇怪,如果登录屏幕仍然出现,说明代码配置有问题,因为客户端凭据流不涉及用户交互


我发现了一个有用的应用程序供您参考,此示例应用程序演示了如何在非交互式过程中使用Microsoft identity platform从受保护的Web API访问数据。它使用获取访问令牌,然后用于调用Web API。

我以前回答过类似的问题,供您参考。您好@CarlZhao,谢谢您的推荐。我已将前端应用程序的应用程序ID添加到后端的“授权客户端应用程序”中。我还向后端应用程序添加了一个应用程序角色,并通过前端应用程序中的API权限添加了该角色。我也需要更新我的C代码吗?当我导航到前端URL时,当前端尝试访问后端应用程序的API时,我仍然会看到一个登录屏幕。这很奇怪,它不应该再提示您登录。我找到了一个合适的样品,你可以看看它是否对你有帮助。如果我的答案对您有帮助,您可以将其作为答案接受(单击答案旁边的复选标记将其从灰色切换为已填写)。这对其他社区成员有益。谢谢。嗨,卡尔,谢谢你的推荐。我遵循了它,它的工作效率为50%。当我在Postman中执行请求以获取访问令牌并在调用API时使用该令牌时,它就起作用了。在Azure Web应用程序上,授权/身份验证通过express设置启用。但是,当我添加authorize属性和
HttpContext.ValidateAppRole(“access_as_应用程序”)代码,当通过Postman调用API时,我得到一个401,响应中没有给出任何附加信息。当我在jwt.io上检查客户端应用程序时,它的令牌中有正确的角色。你知道怎么回事吗?@Ronald 401错误意味着你的令牌的
受众
与你的api不匹配。您是如何设置
范围的?您可以使用jwt.io解析您的访问令牌并提供屏幕截图吗?