Web API を呼び出すモバイル アプリを登録する

この記事では、作成中のモバイル アプリケーションを登録するための手順について説明します。

サポートされているアカウントの種類

モバイル アプリケーションでサポートされるアカウントの種類は、有効にするエクスペリエンスと使用するフローによって異なります。

対話型トークン取得の対象ユーザー

ほとんどのモバイル アプリケーションでは、対話型認証が使用されています。 アプリケーションでこの形式の認証を使用する場合は、任意のアカウントの種類からユーザーをサインインできます。

統合 Windows 認証の対象ユーザー、ユーザー名とパスワード、B2C

ユニバーサル Windows プラットフォーム (UWP) アプリがある場合は、統合 Windows 認証 (IWA) を使用してユーザーにサインインできます。 IWA またはユーザー名とパスワード認証を使用するには、アプリケーションでは自分の基幹業務 (LOB) 開発者テナントにユーザーをサインインする必要があります。 独立系ソフトウェア ベンダー (ISV) のシナリオでは、アプリケーションは Microsoft Entra 組織内のユーザーにサインインできます。 これらの認証フローは、Microsoft の個人用アカウントではサポートされていません。

B2C の機関およびポリシーを渡すソーシャル ID を使用してユーザーにサインインすることもできます。 この方法を使用するには、対話型認証およびユーザー名とパスワード認証のみを使用できます。 ユーザー名とパスワード認証は現在、Xamarin.iOS、Xamarin.Android、および UWP でのみサポートされています。

詳細については、「シナリオとサポートされている認証フロー」と「シナリオとサポートされているプラットフォームと言語」を参照してください。

プラットフォーム構成とリダイレクト URI

対話型認証

対話型認証を使用するモバイル アプリをビルドするときに最も重要な登録手順は、リダイレクト URI です。 このエクスペリエンスにより、お使いのアプリで Microsoft Authenticator (および Android の Intune ポータル サイト) を介してシングル サインオン (SSO) できるようになります。 また、デバイス管理ポリシーもサポートされます。

  1. アプリケーション開発者以上として Microsoft Entra 管理センターにサインインします。

  2. [ID]>[アプリケーション]>[アプリの登録] を参照します。

  3. [新規登録] を選択します。

  4. アプリケーションの名前を入力します。

  5. [サポートされているアカウントの種類] で、 [この組織のディレクトリ内のアカウントのみ] を選択します。

  6. [登録] を選択します。

  7. [認証][プラットフォームの追加] の順に選択します。

    Add a platform.

  8. プラットフォームの一覧がサポートされている場合は、[iOS / macOS] を選択します。

    Choose a mobile application.

  9. バンドル ID を入力した後、 [構成] を選択します。

    Enter your bundle ID.

手順を完了すると、次の画像のようにリダイレクト URI が計算されます。

Resulting redirect URI.

リダイレクト URI を手動で構成する場合は、アプリケーション マニフェストを介して行えます。 マニフェストの推奨される形式は次のとおりです。

  • iOS: msauth.<BUNDLE_ID>://auth
    • たとえば、「msauth.com.yourcompany.appName://auth」と入力します。
  • Android: msauth://<PACKAGE_NAME>/<SIGNATURE_HASH>
    • Android の署名のハッシュは、KeyTool コマンドを通じて、リリース キーまたはデバッグ キーを使用して生成できます。

ユーザー名とパスワード認証

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

アプリでユーザー名とパスワード認証のみを使用する場合は、アプリケーションのリダイレクト URI を登録する必要はありません。 このフローによって、Microsoft ID プラットフォームへのラウンド トリップが実行されます。 アプリケーションが特定の URI でコールバックされることはありません。

ただし、アプリケーションはパブリック クライアント アプリケーションとして識別してください。 そのためには次のようにします。

  1. 引き続き Microsoft Entra 管理センターで、[アプリの登録] でアプリを選択し、[認証] を選択します。

  2. [詳細設定]>[Allow public client flows]\(パブリック クライアント フローを許可する\)>[Enable the following mobile and desktop flows:]\(次のモバイルとデスクトップのフローを有効にする\)[はい] を選択します。

    Enable public client setting on Authentication pane in Azure portal

API のアクセス許可

モバイル アプリケーションは、サインインしたユーザーのために API を呼び出します。 アプリは、委任されたアクセス許可を要求する必要があります。 これらのアクセス許可は、スコープとも呼ばれます。 必要なエクスペリエンスに応じて、Azure portal を使用して、委任されたアクセス許可を静的に要求できます。 または、これらを実行時に動的に要求することができます。

アクセス許可を静的に登録すれば、管理者は簡単にアプリを承認できます。 静的な登録をお勧めします。

次のステップ

このシナリオの次の記事であるアプリ コードの構成に関する記事に進みます。