我对Azure很陌生,我想熟悉使用Azure AD身份验证作为dotnet核心web应用程序的身份验证提供者。
我遵循这个教程:https://learn.microsoft.com/en-us/azure/app-service/tutorial-auth-aad?pivots=platform-linux
它像描述的那样工作,但是我必须错过一些东西,因为它的部署方式对我来说没有任何意义。
起始点"教程代码是这个repo,在这里:https://github.com/Azure-Samples/dotnet-core-api
这是一个简单的。net核心web应用程序,托管一个Angular前端。在本教程的过程中,您可以进行一些更改以获得"前端"。与"后端"对话,并且你在Git的repo中添加了两个远程-frontend
和backend
-但它们在同一个repo上。根据我的理解,在本教程结束时,我有两个几乎相同的Azure应用服务实例运行在我的Azure资源组中。它们都运行相同的代码。两者都包含全栈应用程序——都托管一个Kestrel或HTTP。sys(或任何)实例在端口443在各自的.azurewebsites.net
URL -都显示我的index.html
页面-但一个应该是"前端";另一个应该是"后端"。"前端"唯一不同的地方是和";backend"这是"后端"吗?具有配置的标识提供程序和"前端"。具有从"前端"授予的API权限。
真的有必要让整个服务在两个地方都运行吗?是否有一种方法可以将实际的。net核心API服务托管为应用服务,将HTML/JS/CSS单独托管为Azure静态页面(或类似的东西),并且仍然配置身份提供者?还是一定要这样?无论从技术角度还是从计费角度来看,这似乎都有点小题大做。
正如@Caius Jard所提到的,我们可以在一个解决方案中同时包含它们。在这种情况下,我们实际上可以使用MVC Web应用程序,我们可以在view
中创建前端,并在control
中编写实际代码。如果我们使用的是核心应用,那么我们可以在两种环境中创建后端和前端,比如用Angular做前端,用。net core做后端,然后把它们集成在一起。
引用:
-
Azure AD身份验证MVC Web应用程序(c-sharpcorner.com)
-
Angular和。net core - Azure AD认证| The-worst.dev