Веб-приложение, которое реализует вход пользователей: регистрация приложения

В этой статье описаны шаги регистрации приложения для веб-приложения, которое реализует вход пользователей.

Чтобы зарегистрировать приложение, можно использовать:

  • Краткое руководство по веб-приложению. Кроме того, что краткие руководства очень удобны при создании приложения, они содержат кнопку Внести это изменение для меня. С помощью этой кнопки можно задать нужные свойства даже для существующего приложения. Адаптируйте значения этих свойств к собственному варианту. В частности, веб-интерфейс API для вашего приложения, вероятно, будет отличаться от предложенного по умолчанию, что также повлияет на универсальный код ресурса выхода (URI).
  • Портал Azure для регистрации приложения вручную.
  • PowerShell и средства командной строки.

Регистрация приложения с помощью кратких руководств

Для загрузки создания веб-приложения можно использовать следующую ссылку:

Регистрация приложения

Регистрация приложения с помощью портала Azure

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Примечание.

Используемый портал отличается в зависимости от того, выполняется ли ваше приложение в общедоступном облаке Microsoft Azure или в национальном облаке. Дополнительные сведения см. на странице национальных облаков.

  1. Войдите в центр администрирования Microsoft Entra.
  2. Если у вас есть доступ к нескольким клиентам, используйте значок Параметры в верхнем меню, чтобы переключиться на клиент, в котором вы хотите зарегистрировать приложение из меню каталогов и подписок.
  3. Перейдите к приложениям> удостоверений>Регистрация приложений выберите "Создать регистрацию".
  1. Когда появится страница регистрации приложения, введите сведения о регистрации приложения:
    1. Введите имя приложения, например AspNetCore-WebApp. Пользователи приложения могут видеть это имя. Вы можете изменить его позже.
    2. Выберите поддерживаемые типы учетных записей для приложения. (См. Поддерживаемые типы учетных записей.)
    3. Для URI перенаправлениядобавьте тип приложения и назначение URI, которые будут принимать возвращаемые ответы токена после успешной проверки подлинности. Например, введите https://localhost:44321.
    4. Выберите Зарегистрировать.
  2. В разделе "Управление" выберите "Проверка подлинности" , а затем добавьте следующие сведения:
    1. В разделе Веб в качестве второго URI перенаправления добавьте https://localhost:44321/signin-oidc.
    2. Для параметра Front-channel logout URL (URL-адрес выхода Front-channel) введите значениеhttps://localhost:44321/signout-oidc.
    3. В разделе Неявное предоставление разрешения и гибридные потоки выберите Маркеры идентификации.
    4. Выберите Сохранить.

Регистрация приложения с помощью PowerShell

Вы также можете зарегистрировать приложение в Microsoft Graph PowerShell с помощью New-MgApplication.

Вот идея кода. Полный код см . в этом примере.

# 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)"

Следующий шаг

Перейдите к следующей статье в этом сценарии: Конфигурация кода приложения.