Azure AD 인증을 사용하여 Azure App Service에서 호스팅되는 ASP.NET MVC Webapp용 Azure Front door를 설정하는 방법
웹앱 만들기 - Azure App Service
웹앱 만들기 - 우리가 만들고 있는 웹앱을 호스팅할 Azure 앱 서비스입니다.
Azure AD 보호 웹앱 만들기
Open ID 연결을 사용하여 Azure AD 인증으로 dotnet 코어 웹앱을 만듭니다.
Azure AD를 사용하여 웹앱을 만들려면 이 문서를 따르세요.
https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-asp-webapp
Azure 전면 도어 만들기
Front Door 끝점 만들기
현관문 오리진 그룹 생성
현관문 원점 생성
앞문 설정은 위의 모든 단계를 거친 후 다음과 같습니다.
여기에서 호스트 헤더를 비어 있도록 업데이트해야 합니다.
Azure AD에서 리디렉션 Uri 업데이트
프런트 도어 엔드포인트 URL을 사용하여 Azure AD의 리디렉션 Uri를 업데이트합니다.
Front door의 리디렉션 Uri로 Webapp 업데이트
웹앱이 Azure Front Door 뒤에 있으면/authorize 요청의 redirect_uri가 Front Door의 주소가 되도록 구성해야 합니다.
아래 코드에서는 "OnRedirectToIdentityProvider"이벤트를 재정의하고 Front Door의 주소를 삽입합니다. 이 작업을 시도할 때 단순히 주소를 하드코딩했지만 이상적으로는 Front Door가 요청에 삽입하는 헤더에서 주소를 추출하는 것입니다.
이것은 Azure Front Door 뒤에서 실행되는 Azure AD로 보호되는 Azure App Service에서 실행되는 내 dotnet 코어 서버 앱(.net 6)을 인증하려고 할 때 사용한 코드입니다.
public void ConfigureServices(IServiceCollection services)
{
// ... existing code
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(new[] { "User.Read" })
.AddInMemoryTokenCaches();
services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = (context) =>
{
// Override the redirect_uri
// Ideally extract this from config
// Or context.Request.Headers["X-Forwarded-Host"]
// see: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol#front-door-to-backend
context.ProtocolMessage.RedirectUri
= "https://YOUR-FRONT-DOOR-or-APP-GATEWAY/signin-oidc";
return Task.FromResult(0);
}
};
});
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
// ... existing code
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ... existing code
// Don't forget to add this ...
app.UseForwardedHeaders();
// ... existing code
}
코드가 작동하면 "redirect_uri"매개변수는 여기에 표시된 대로 정문/게이트웨이를 가리켜야 합니다.
참조
https://stackoverflow.com/questions/61733729/authentication-with-azure-ad-redirect-uri-is-incorrect-using-frontdoor
Reference
이 문제에 관하여(Azure AD 인증을 사용하여 Azure App Service에서 호스팅되는 ASP.NET MVC Webapp용 Azure Front door를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ssanjeevi/how-to-setup-azure-front-door-for-aspnet-mvc-webapp-hosted-in-azure-app-service-with-azure-ad-authentication-33jf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Open ID 연결을 사용하여 Azure AD 인증으로 dotnet 코어 웹앱을 만듭니다.
Azure AD를 사용하여 웹앱을 만들려면 이 문서를 따르세요.
https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-asp-webapp
Azure 전면 도어 만들기
Front Door 끝점 만들기
현관문 오리진 그룹 생성
현관문 원점 생성
앞문 설정은 위의 모든 단계를 거친 후 다음과 같습니다.
여기에서 호스트 헤더를 비어 있도록 업데이트해야 합니다.
Azure AD에서 리디렉션 Uri 업데이트
프런트 도어 엔드포인트 URL을 사용하여 Azure AD의 리디렉션 Uri를 업데이트합니다.
Front door의 리디렉션 Uri로 Webapp 업데이트
웹앱이 Azure Front Door 뒤에 있으면/authorize 요청의 redirect_uri가 Front Door의 주소가 되도록 구성해야 합니다.
아래 코드에서는 "OnRedirectToIdentityProvider"이벤트를 재정의하고 Front Door의 주소를 삽입합니다. 이 작업을 시도할 때 단순히 주소를 하드코딩했지만 이상적으로는 Front Door가 요청에 삽입하는 헤더에서 주소를 추출하는 것입니다.
이것은 Azure Front Door 뒤에서 실행되는 Azure AD로 보호되는 Azure App Service에서 실행되는 내 dotnet 코어 서버 앱(.net 6)을 인증하려고 할 때 사용한 코드입니다.
public void ConfigureServices(IServiceCollection services)
{
// ... existing code
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(new[] { "User.Read" })
.AddInMemoryTokenCaches();
services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = (context) =>
{
// Override the redirect_uri
// Ideally extract this from config
// Or context.Request.Headers["X-Forwarded-Host"]
// see: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol#front-door-to-backend
context.ProtocolMessage.RedirectUri
= "https://YOUR-FRONT-DOOR-or-APP-GATEWAY/signin-oidc";
return Task.FromResult(0);
}
};
});
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
// ... existing code
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ... existing code
// Don't forget to add this ...
app.UseForwardedHeaders();
// ... existing code
}
코드가 작동하면 "redirect_uri"매개변수는 여기에 표시된 대로 정문/게이트웨이를 가리켜야 합니다.
참조
https://stackoverflow.com/questions/61733729/authentication-with-azure-ad-redirect-uri-is-incorrect-using-frontdoor
Reference
이 문제에 관하여(Azure AD 인증을 사용하여 Azure App Service에서 호스팅되는 ASP.NET MVC Webapp용 Azure Front door를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ssanjeevi/how-to-setup-azure-front-door-for-aspnet-mvc-webapp-hosted-in-azure-app-service-with-azure-ad-authentication-33jf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
프런트 도어 엔드포인트 URL을 사용하여 Azure AD의 리디렉션 Uri를 업데이트합니다.
Front door의 리디렉션 Uri로 Webapp 업데이트
웹앱이 Azure Front Door 뒤에 있으면/authorize 요청의 redirect_uri가 Front Door의 주소가 되도록 구성해야 합니다.
아래 코드에서는 "OnRedirectToIdentityProvider"이벤트를 재정의하고 Front Door의 주소를 삽입합니다. 이 작업을 시도할 때 단순히 주소를 하드코딩했지만 이상적으로는 Front Door가 요청에 삽입하는 헤더에서 주소를 추출하는 것입니다.
이것은 Azure Front Door 뒤에서 실행되는 Azure AD로 보호되는 Azure App Service에서 실행되는 내 dotnet 코어 서버 앱(.net 6)을 인증하려고 할 때 사용한 코드입니다.
public void ConfigureServices(IServiceCollection services)
{
// ... existing code
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(new[] { "User.Read" })
.AddInMemoryTokenCaches();
services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = (context) =>
{
// Override the redirect_uri
// Ideally extract this from config
// Or context.Request.Headers["X-Forwarded-Host"]
// see: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol#front-door-to-backend
context.ProtocolMessage.RedirectUri
= "https://YOUR-FRONT-DOOR-or-APP-GATEWAY/signin-oidc";
return Task.FromResult(0);
}
};
});
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
// ... existing code
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ... existing code
// Don't forget to add this ...
app.UseForwardedHeaders();
// ... existing code
}
코드가 작동하면 "redirect_uri"매개변수는 여기에 표시된 대로 정문/게이트웨이를 가리켜야 합니다.
참조
https://stackoverflow.com/questions/61733729/authentication-with-azure-ad-redirect-uri-is-incorrect-using-frontdoor
Reference
이 문제에 관하여(Azure AD 인증을 사용하여 Azure App Service에서 호스팅되는 ASP.NET MVC Webapp용 Azure Front door를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ssanjeevi/how-to-setup-azure-front-door-for-aspnet-mvc-webapp-hosted-in-azure-app-service-with-azure-ad-authentication-33jf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
public void ConfigureServices(IServiceCollection services)
{
// ... existing code
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"))
.EnableTokenAcquisitionToCallDownstreamApi(new[] { "User.Read" })
.AddInMemoryTokenCaches();
services.Configure<OpenIdConnectOptions>(OpenIdConnectDefaults.AuthenticationScheme, options =>
{
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = (context) =>
{
// Override the redirect_uri
// Ideally extract this from config
// Or context.Request.Headers["X-Forwarded-Host"]
// see: https://docs.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol#front-door-to-backend
context.ProtocolMessage.RedirectUri
= "https://YOUR-FRONT-DOOR-or-APP-GATEWAY/signin-oidc";
return Task.FromResult(0);
}
};
});
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor |
ForwardedHeaders.XForwardedProto;
options.KnownNetworks.Clear();
options.KnownProxies.Clear();
});
// ... existing code
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ... existing code
// Don't forget to add this ...
app.UseForwardedHeaders();
// ... existing code
}
Reference
이 문제에 관하여(Azure AD 인증을 사용하여 Azure App Service에서 호스팅되는 ASP.NET MVC Webapp용 Azure Front door를 설정하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ssanjeevi/how-to-setup-azure-front-door-for-aspnet-mvc-webapp-hosted-in-azure-app-service-with-azure-ad-authentication-33jf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)