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

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

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

  • 웹앱 빠른 시작. 애플리케이션을 만들 때 뛰어난 첫 경험이 될 뿐만 아니라, 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)"

다음 단계

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