当后端在其他服务器上时重定向Azure Active Directory应用程序注册的URI



我即将部署一个Angular HTML前端作为Azure应用程序服务。在应用程序设置中,可以选择启用Azure Active Directory身份验证。如果启用,当我导航到https://my-awesome-project.azurewebsites.net,我被重定向到MS登录屏幕,在那里我可以输入我的AAD凭据。然而,为了实现这一点,我需要我的应用程序在AAD注册。

虽然遵循本指南只有三个步骤,但我仍然有一个问题:

由于在我的场景中,HTML前端(Azure App Serivce)和Node.js后端API位于不同的服务器上,因此我的应用注册的重定向URI应该指向后端服务器的HTTP端点,对吗?

我看过的很多教程都说要把你的应用程序的网址放在重定向URI字段中。但是在这种情况下,我的HTML/js前端怎么知道该怎么处理它呢?

毕竟,微软表示">我们将在成功验证用户后返回对此[重定向]URL的验证响应…">

干杯

您需要了解身份验证是如何工作的。如果您正在使用Azure Active Directory进行身份验证,那么您需要进行身份验证的任何应用程序都需要向AAD(Azure Active Directory)注册。在您的情况下,前端和后端都需要向AAD注册,您的后端需要对前端应用程序和您在Azure中配置的应用程序具有信任。https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-auth-aad

您的前端需要控制流,在身份验证后,您可以重定向到前端,它应该从AAD接收令牌,您必须在授权标头中使用该令牌来访问后端API。对于这种流,您可以使用AADL(AAD库https://github.com/AzureAD/azure-activedirectory-library-for-js)它可以处理这一问题,并且通常是这种身份验证流的更好选择。

另一点是,当Angular/HTML是静态前端时,为什么需要使用Azure应用程序服务?你可以查看Azure静态托管网站,这将为你节省大量成本。https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website

更多资源https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v1-angularjs-spa

最新更新