사용자가 로그인하는 웹앱: 앱 등록

이 문서에서는 사용자가 로그인하는 웹앱에 대한 앱 등록 단계를 설명합니다.

애플리케이션을 등록하려면 다음을 사용할 수 있습니다.

  • 웹앱 빠른 시작. 애플리케이션을 만들 때 뛰어난 첫 경험이 될 뿐만 아니라, Azure Portal의 빠른 시작에는 변경 적용이라는 단추가 포함되어 있습니다. 이 단추를 사용하여 기존 앱에도 필요한 속성을 설정할 수 있습니다. 이러한 속성의 값을 사례에 맞게 조정합니다. 특히 앱의 웹 API URL은 제안된 기본값과 다를 수 있으며, 이는 로그아웃 URI에도 영향을 줍니다.
  • 애플리케이션을 수동으로 등록하는 Azure Portal입니다.
  • PowerShell 및 명령줄 도구.

빠른 시작을 사용하여 앱 등록

다음 링크를 사용하여 웹 애플리케이션 만들기를 부트스트랩할 수 있습니다.

애플리케이션 등록

Azure Portal을 사용하여 앱 등록

이 문서의 단계는 시작하는 포털에 따라 약간 다를 수 있습니다.

참고 항목

사용할 포털은 애플리케이션이 Microsoft Azure 퍼블릭 클라우드나 국가 또는 소버린 클라우드에서 실행되는지 여부에 따라 달라집니다. 자세한 내용은 국가별 클라우드를 참조하세요.

  1. Microsoft Entra 관리 센터에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 위쪽 메뉴의 설정 아이콘을 사용하여 디렉터리 + 구독 메뉴에서 애플리케이션을 등록하려는 테넌트로 전환합니다.
  3. ID>애플리케이션>앱 등록으로 이동하고 신규 등록을 선택합니다.
  1. 애플리케이션 등록 페이지가 표시되면 애플리케이션의 등록 정보를 입력합니다.
    1. 애플리케이션에 대한 이름을 입력합니다(예: AspNetCore-WebApp). 이 이름은 앱의 사용자에게 표시될 수 있으며 나중에 변경할 수 있습니다.
    2. 애플리케이션에 지원되는 계정 유형을 선택합니다. (지원되는 계정 유형을 참조하세요.)
    3. 리디렉션 URI의 경우 인증에 성공한 후 반환된 토큰 응답을 받을 애플리케이션의 형식 및 URI 대상을 추가합니다. 예를 들어 https://localhost:44321을 입력합니다.
    4. 등록을 선택합니다.
  2. 관리에서 인증을 선택하고 다음 정보를 추가합니다.
    1. 섹션에서 https://localhost:44321/signin-oidc리디렉션 URI로 추가합니다.
    2. 전면 채널 로그아웃 URLhttps://localhost:44321/signout-oidc을 입력합니다.
    3. 암시적 권한 부여 및 하이브리드 흐름에서 ID 토큰을 선택합니다.
    4. 저장을 선택합니다.

PowerShell을 사용한 앱 등록

New-MgApplication을 사용하여 Microsoft Graph PowerShell에 애플리케이션을 등록할 수도 있습니다.

다음은 코드에 대한 아이디어입니다. 완벽하게 작동하는 코드를 보려면 이 샘플을 참조하세요.

# Connect to the Microsoft Graph API, non-interactive is not supported for the moment (Oct 2021)
Write-Host "Connecting to Microsoft Graph"
if ($tenantId -eq "") {
   Connect-MgGraph -Scopes "User.Read.All Organization.Read.All Application.ReadWrite.All" -Environment $azureEnvironmentName
}
else {
   Connect-MgGraph -TenantId $tenantId -Scopes "User.Read.All Organization.Read.All Application.ReadWrite.All" -Environment $azureEnvironmentName
}
   
$context = Get-MgContext
$tenantId = $context.TenantId

# Get the user running the script
$currentUserPrincipalName = $context.Account
$user = Get-MgUser -Filter "UserPrincipalName eq '$($context.Account)'"

# get the tenant we signed in to
$Tenant = Get-MgOrganization
$tenantName = $Tenant.DisplayName
   
$verifiedDomain = $Tenant.VerifiedDomains | where {$_.Isdefault -eq $true}
$verifiedDomainName = $verifiedDomain.Name
$tenantId = $Tenant.Id

Write-Host ("Connected to Tenant {0} ({1}) as account '{2}'. Domain is '{3}'" -f  $Tenant.DisplayName, $Tenant.Id, $currentUserPrincipalName, $verifiedDomainName)

# Create the webApp AAD application
Write-Host "Creating the AAD application (WebApp)"
# create the application 
$webAppAadApplication = New-MgApplication -DisplayName "WebApp" `
                                                   -Web `
                                                   @{ `
                                                         RedirectUris = "https://localhost:44321/", "https://localhost:44321/signin-oidc"; `
                                                         HomePageUrl = "https://localhost:44321/"; `
                                                         LogoutUrl = "https://localhost:44321/signout-oidc"; `
                                                      } `
                                                      -SignInAudience AzureADandPersonalMicrosoftAccount `
                                                   #end of command

$currentAppId = $webAppAadApplication.AppId
$currentAppObjectId = $webAppAadApplication.Id

$tenantName = (Get-MgApplication -ApplicationId $currentAppObjectId).PublisherDomain
#Update-MgApplication -ApplicationId $currentAppObjectId -IdentifierUris @("https://$tenantName/WebApp")
   
# create the service principal of the newly created application     
$webAppServicePrincipal = New-MgServicePrincipal -AppId $currentAppId -Tags {WindowsAzureActiveDirectoryIntegratedApp}

# add the user running the script as an app owner if needed
$owner = Get-MgApplicationOwner -ApplicationId $currentAppObjectId
if ($owner -eq $null)
{
   New-MgApplicationOwnerByRef -ApplicationId $currentAppObjectId  -BodyParameter = @{"@odata.id" = "htps://graph.microsoft.com/v1.0/directoryObjects/$user.ObjectId"}
   Write-Host "'$($user.UserPrincipalName)' added as an application owner to app '$($webAppServicePrincipal.DisplayName)'"
}
Write-Host "Done creating the webApp application (WebApp)"

다음 단계

이 시나리오에서 다음 문서 앱의 코드 구성으로 이동합니다.