환영합니다! 아마도 기대했던 페이지는 아닐 것입니다. 수정 작업을 진행하는 동안 이 링크를 통해 올바른 문서로 이동해야 합니다.
이 문제를 해결하는 동안 불편을 끼쳐 드려 죄송하며 양해해 주셔서 감사합니다.
이 빠른 시작에서는 ASP.NET Core 웹앱이 Microsoft Entra 조직에서 사용자를 로그인하는 방법을 보여 주는 코드 샘플을 다운로드하고 실행합니다.
1단계: Azure Portal에서 애플리케이션 구성
이 빠른 시작의 코드 샘플이 작동하려면 다음을 수행합니다.
- 리디렉션 URI에 https://localhost:44321/ 및 https://localhost:44321/signin-oidc를 입력하십시오.
- 프런트 채널 로그아웃 URL에 대해 .를 입력합니다https://localhost:44321/signout-oidc.
권한 부여 엔드포인트는 요청 ID 토큰을 발급합니다.
이러한 특성을 사용하여 애플리케이션을 구성합니다.
2단계: ASP.NET Core 프로젝트 다운로드
프로젝트를 실행합니다.
팁 (조언)
Windows의 경로 길이 제한으로 인해 발생하는 오류를 방지하려면 보관 파일의 압축을 풀거나 리포지토리를 드라이브 루트에 가까운 디렉터리에 복제하는 것이 좋습니다.
3단계: 앱이 구성되고 실행할 준비가 됨
앱 속성 값을 사용하여 프로젝트를 구성했으며 실행할 준비가 완료되었습니다.
비고
Enter_the_Supported_Account_Info_Here
추가 정보
이 섹션에서는 사용자를 로그인하는 데 필요한 코드의 개요를 제공합니다. 이 개요는 코드의 작동 방식, 기본 인수 및 기존 ASP.NET Core 애플리케이션에 로그인을 추가하는 방법을 이해하는 데 유용할 수 있습니다.
샘플 작동 방식
스타트업 클래스
Microsoft.AspNetCore.Authentication 미들웨어는 호스팅 프로세스가 시작될 때 실행되는 클래스를 사용합니다Startup
.
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
이 메서드는 AddAuthentication()
쿠키 기반 인증을 추가하도록 서비스를 구성합니다. 이 인증은 브라우저 시나리오에서 사용되며 OpenID Connect에 대한 챌린지를 설정합니다.
포함된 .AddMicrosoftIdentityWebApp
줄은 애플리케이션에 Microsoft ID 플랫폼 인증을 추가합니다. 그런 다음 애플리케이션은 AzureAD
구성 파일의 섹션에 있는 다음 정보를 기반으로 사용자를 로그인하도록 구성됩니다.
appsettings.json 키 | 설명 |
---|---|
ClientId |
Azure Portal에 등록된 애플리케이션의 애플리케이션(클라이언트) ID입니다. |
Instance |
사용자가 인증하는 STS(보안 토큰 서비스) 엔드포인트입니다. 이 값은 일반적으로 https://login.microsoftonline.com/ 이며, Azure 퍼블릭 클라우드를 나타냅니다. |
TenantId |
테넌트 이름, 테넌트 ID (GUID), 또는 회사 및 학교 계정이나 Microsoft 개인 계정을 가진 사용자 로그인을 위해 common 를 사용하세요. |
Configure()
메서드에는 명명된 기능을 사용할 수 있도록 설정하는 두 가지 중요한 메서드인 app.UseAuthentication()
및 app.UseAuthorization()
이 포함되어 있습니다. 메서드에서도 Configure()
에 최소한 한 번 호출하거나 endpoints.MapControllerRoute()
를 호출하여 Microsoft Identity Web 경로를 등록해야 합니다.
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
컨트롤러 또는 메서드를 보호하기 위한 특성
컨트롤러 또는 컨트롤러 메서드는 [Authorize]
특성을 사용하여 보호할 수 있습니다. 이 특성은 인증된 사용자만 허용하여 컨트롤러 또는 메서드에 대한 액세스를 제한합니다. 그런 다음 사용자가 인증되지 않은 경우 컨트롤러에 액세스하기 위한 인증 챌린지를 시작할 수 있습니다.
도움말 및 지원
도움이 필요하거나, 문제를 보고하거나, 지원 옵션에 대해 알아보려면 개발자를 위한 도움말 및 지원을 참조하세요.
다음 단계
이 ASP.NET Core 자습서를 포함하는 GitHub 리포지토리에는 다음 방법을 보여 주는 지침 및 더 많은 코드 샘플이 포함되어 있습니다.
- 새 ASP.NET Core 웹 애플리케이션에 인증을 추가합니다.
- Microsoft Graph, 기타 Microsoft API 또는 사용자 고유의 웹 API를 호출합니다.
- 권한 부여를 추가합니다.
- 국가별 클라우드 또는 소셜 ID를 사용하여 사용자를 로그인합니다.