【发布时间】:2021-02-03 08:43:06
【问题描述】:
我有两个 Azure Web 应用程序,一个是网站并充当前端,另一个是 API 并充当后端。我想为此解决方案添加身份验证,以便只有前端可以访问后端。为此,我使用 express 选项在后端 Web 应用程序上配置了 AAD 身份验证,该选项创建了一个配置有正确回复 URL、API 权限 (User.Read) 等的新 Azure AD 应用程序。然后导航到后端Web 应用 URL,我需要使用我的 Azure AD 凭据登录。
我需要采取哪些步骤来限制这种情况,以使我作为用户无法登录,并且只有前端 Web 应用可以向后端 API 进行身份验证?
例如,我可以在后端 API 的 Azure AD 应用程序上设置“授权客户端应用程序”。但是,我需要一个应用程序 ID 来添加授权客户端,并且我想为此使用前端 Web 应用程序的托管标识,而不是新的和额外的 Azure AD 应用程序。
知道怎么做吗?
【问题讨论】:
-
我之前回答过类似的问题,供您参考。 stackoverflow.com/questions/65934246/…
-
嗨@CarlZhao,感谢您的参考。我已将前端应用程序的应用程序 ID 添加到后端的“授权客户端应用程序”中。我还向后端应用程序添加了一个应用程序角色,并通过我的前端应用程序中的 API 权限添加了该角色。我是否也需要更新我的 C# 代码?当我导航到前端 URL 时,当前端尝试访问后端应用程序的 API 时,我仍然会看到一个登录屏幕。
-
这很奇怪,它应该不再提示您登录。我找到了一个合适的示例,您可以看看它是否对您有帮助。 github.com/Azure-Samples/active-directory-dotnetcore-daemon-v2
-
如果我的回答对您有帮助,您可以接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为已填充。)。这可能对其他社区有益成员。谢谢。
标签: azure azure-active-directory azure-web-app-service azure-authentication