Azure 应用程序网关支持 Open ID connect 身份验证

Azure Application Gateway support Open ID connect Authentication

我有一个 azure web 应用程序,它有使用 Azure AD 配置的 open id connect 身份验证 为此,我在 Azure Active Directory 的 App Registrations 下创建了一个新应用程序,并将重定向 URL 配置为 /signin-oidc。因此,当我尝试登录到应用程序服务 url 时,它首先重定向到重定向 url,然后重定向到 https://login.microsoftonline.com,并在查询字符串 [=] 中传递客户端 ID、租户等详细信息17=]并且工作得很好。所以我可以使用我的 azure ad 用户凭据登录

Web 应用程序与带有 Azure AD 的 Open ID Connect 完美配合。

当我使用 Azure 应用程序网关在 Azure Web App 前面时,它直接重定向到 /signin-oidc 并停在那里。我也尝试了重定向选项。 Azure 应用程序网关是否支持使用 Azure AD 进行 -open id 连接身份验证。 ?

这里的场景相同,应用程序网关后面的应用程序服务。这是有效的方法:

Microsoft.AspNetCore.Authentication.AuthenticationHandler<> 中的 BuildRedirectUri 方法构建重定向 URI,在其他值中连接 Resquest.Host 字符串。这就是为什么使用应用服务主机而不是网关的原因。

因此,将以下代码片段添加到 Startup.csConfigure() 方法中:

if (env.IsProduction())
{
    app.Use((context, next) =>
    {                    
         context.Request.Host = new HostString("<gateway.host>");
         return next();
    });
}

是的,我们可以使用带有开放 ID 身份验证的应用程序网关。就我而言,SSL 证书丢失,添加后我就可以使用了。