適用対象: ワークフォース テナント
外部テナント (詳細)
この記事では、ユーザーをサインインさせる Web アプリにおけるアプリの登録の手順について説明しています。
アプリケーションを登録するには、次を使用することができます。
- Web アプリのクイック スタート。 Azure portal のクイック スタートには、アプリケーションの作成に関する優れた初めての経験に加えて、[ この変更を行う] という名前のボタンが含まれています。 既存のアプリであっても、このボタンを使用して必要なプロパティを設定できます。 これらのプロパティの値を自分のケースに適応させます。 具体的には、自分のアプリ用の Web API URL は、提案された既定値とは異なる可能性があり、URI のサインアウトにも影響があります。
- アプリケーションを手動で登録するための Azure portal。
- PowerShell とコマンドライン ツール。
クイックスタートを使用してアプリを登録する
次のリンクを使用して、Web アプリケーションの作成をブートストラップできます。
Azure portal を使用してアプリを登録する
メモ
使用するポータルは、アプリケーションが Microsoft Azure パブリック クラウド、各国のクラウドまたはソブリン クラウドのいずれで実行されるかによって異なります。 詳細については、「 各国のクラウド」を参照してください。
- Microsoft Entra 管理センターにサインインします。
- 複数のテナントにアクセスできる場合は、上部メニューの [設定] アイコン
を使用して、[ ディレクトリ + サブスクリプション ] メニューからアプリケーションを登録するテナントに切り替えます。
- Entra ID>App registrations に移動し、[新規登録] を選択します。
- [ アプリケーションの登録 ] ページが表示されたら、アプリケーションの登録情報を入力します。
- アプリケーションの 名前 (例:
AspNetCore-WebApp
) を入力します。 この名前は、アプリのユーザーに表示される場合があります。また、後で変更することができます。 - 自分のアプリケーションでサポートされているアカウントの種類を選択します。 ( サポートされているアカウントの種類を参照してください)。
-
リダイレクト URI の場合は、認証が成功した後に返されるトークン応答を受け入れるアプリケーションの種類と URI 宛先を追加します。 たとえば、「
https://localhost:44321
」と入力します。 - [ 登録] を選択します。
- アプリケーションの 名前 (例:
- [ 管理] で [ 認証 ] を選択し、次の情報を追加します。
-
Web セクションで、
https://localhost:44321/signin-oidc
としてを追加します。 -
[Front-channel logout URL] に「
https://localhost:44321/signout-oidc
」と入力します。 - [保存] を選択します。
-
Web セクションで、
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" = "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)"
次のステップ
このシナリオの次の記事、 アプリのコード構成に進みます。