Поделиться через


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

Область применения: Зеленый круг с символом белой галочки. арендаторы рабочей силы Белый круг с серым символом X. внешние арендаторы (подробнее)

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

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

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

Регистрация приложения с использованием экспресс-руководств

Чтобы инициировать создание вашего веб-приложения, вы можете использовать следующую ссылку.

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

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

Примечание.

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

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

Регистрация приложения с помощью 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" = "https://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)"

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

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