gpt4 book ai didi

asp.net-core - 使用应用程序网关的 Azure AD 重定向 URL

转载 作者:行者123 更新时间:2023-12-03 09:32:08 30 4
gpt4 key购买 nike

我们有一个 ASP Core 2.0 应用程序,可以很好地与专用网络上的 Azure AD 配合使用。但是,我们一直在使用 Azure 应用程序网关,研究允许远程 worker 等从外部访问应用程序的可能性。

我们已经在网关上注册了该应用程序,并且一旦使用 Azure AD 登录,就可以通过 ourapp.msappproxy.net 访问匿名首页。 .但是,在应用程序中(再次?)登录时,客户端被重定向回 intervalServer/signin-oidc由于无法从外部访问而失败。

虽然我怀疑这是解决方案的任何部分,但我尝试覆盖重定向 "CallbackPath": "/signin-oidc",到绝对路径 ourapp.msappproxy.net/signin-oidc但我似乎无法弄清楚如何。更改 Azure 门户中的回复 URL 也无济于事(虽然我怀疑它会不会,但这只是为了验证,对吗?)。

我似乎无法在此特定情况下找到任何有关此的指导,因此很受欢迎。否则,我会思考以下问题:

1,如果我可以将重定向更改为ourapp.msappproxy.net/signin-oidc,是否可以解决登录问题?

2,我什至需要额外的登录步骤,还是应该更改应用程序以接受AzureAppProxyUserSessionCookieAzureAppProxyAccessCookie ? (如果这甚至是一种选择?)

最佳答案

感谢评论中的 rfcdejong 让我走上正轨。在我们的例子中,我能够通过覆盖 OnRedirectToIdentityProvider 将 Azure AD 与 Azure 应用程序网关一起使用。事件并在 ConfigureServices 中提供代理 URL

services.AddAuthentication(...)
.AddOpenIdConnect(options =>
{
options.ClientId = Configuration["Authentication:AzureAD:ClientId"];
options.Authority = Configuration["Authentication:AzureAd:Authority"];
options.CallbackPath = Configuration["Authentication:AzureAd:CallbackPath"];

if (IsProduction) // So that I can use the original redirect to localhost in development
{
Task RedirectToIdentityProvider(RedirectContext ctx)
{
ctx.ProtocolMessage.RedirectUri = "https://ourapp.msappproxy.net/signin-oidc";
return Task.FromResult(0);
}

options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = RedirectToIdentityProvider
};
}
})

返回 URI 需要配置为与 Azure 门户中的应用程序匹配。
还需要分配用户,但内部应用程序现在可以在任何地方使用,而无需直接访问服务器。

关于asp.net-core - 使用应用程序网关的 Azure AD 重定向 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48399699/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com