適用対象: 従業員テナント
外部テナント (詳細情報)
このクイック スタートでは、Microsoft Entra External ID を使用して、サインアップ、サインイン、サインアウト、パスワードリセットのシナリオを示す iOS サンプル アプリケーションを実行する方法について説明します。
[前提条件]
- 外部テナント。 まだお持ちでない場合は、無料試用版にサインアップしてください
- 電子メール ワンタイム パスコード ID プロバイダー オプションを使用して設定されたユーザー フロー。 詳細については、 外部テナント内のアプリのセルフサービス サインアップ ユーザー フローを作成する方法に関するページを参照してください。 このユーザー フローは、複数のアプリケーションに使用できます。
- Microsoft Entra 管理センターに新しいクライアント Web アプリを登録します。 これは、組織のディレクトリと個人用の Microsoft アカウントのアカウント用に構成されています。 詳細については、「 アプリケーションの登録 」を参照してください。 後で使用するために、アプリケーション の [概要 ] ページから次の値を記録します。
- アプリケーション (クライアント) ID
- ディレクトリ (テナント) ID
- アプリケーションをユーザー フローに追加します。
- Xcodeの
パブリック クライアントとネイティブ認証フローを有効にする
このアプリがパブリック クライアントであり、ネイティブ認証を使用できることを指定するには、パブリック クライアントとネイティブ認証フローを有効にします。
- アプリ登録ページから、パブリック クライアントとネイティブ認証フローを有効にするアプリ登録を選択します。
- [管理] で、 [認証] を選択します。
- [詳細設定 で、パブリック クライアント フローを許可します。
- [次のモバイルとデスクトップのフローを有効にする] で、[はい] を選びます。
- ネイティブ認証 を有効にするには、[はい] を選択します。
- [保存] ボタンを選びます。
サンプルの iOS モバイル アプリケーションを複製する
ターミナルを開き、コードを保持するディレクトリに移動します。
次のコマンドを実行して、GitHub から iOS モバイル アプリケーションを複製します。
git clone https://github.com/Azure-Samples/ms-identity-ciam-native-auth-ios-sample.git
リポジトリが複製されたディレクトリに移動します。
cd ms-identity-ciam-native-auth-ios-sample
サンプル iOS モバイル アプリケーションを構成する
Xcode で NativeAuthSampleApp.xcodeproj プロジェクトを 開きます。
NativeAuthSampleApp/Configuration.swift ファイルを開きます。
プレースホルダーを見つけてください。
注
ビルドするスキームとビルド先の製品を実行する場所を必ず選択してください。 各スキームには、使用可能な宛先を表す実際のデバイスまたはシミュレートされたデバイスの一覧が含まれています。
サンプル iOS モバイル アプリケーションの実行とテスト
コードをビルドして実行するには、Xcode の [製品] メニューから [実行] を選択します。 ビルドが成功すると、Xcode はシミュレーターでサンプル アプリを起動します。
このガイドでは 、電子メールワンタイム パスコードの使用状況を テストします。 有効なメール アドレスを入力し、[ サインアップ] を選択して、送信コード画面を起動します。
前の画面でメール アドレスを入力すると、アプリケーションから確認コードが送信されます。 受信したコードを送信すると、アプリケーションによって前の画面に戻り、自動的にサインインします。
このサンプルでサポートされるその他のシナリオ
サンプル アプリでは、次のフローがサポートされています。
- 電子メール + パスワード は、パスワードを含む電子メールによるサインインまたはサインアップ フローを対象とします。
- ユーザー属性を使用した電子メールとパスワードのサインアップ では、電子メールとパスワードによるサインアップと、ユーザー属性の送信について説明します。
- パスワード リセット には、セルフサービス パスワード リセット (SSPR) が含まれます。
- Access Protected API では、ユーザーが正常にサインアップまたはサインインしてアクセス トークンを取得した後に、保護された API を呼び出す方法について説明します。
- Web ブラウザーへのフォールバック では、ユーザーが何らかの理由でネイティブ認証を使用して認証を完了できない場合に、ブラウザー ベースの認証をフォールバック メカニズムとして使用する方法について説明します。
パスワード フローを使用して電子メールをテストする
このセクションでは、パスワードを使用した電子メールのフロー、およびそのバリエーション(ユーザー属性とSSPRを使用したパスワードサインアップ)をテストします。
ユーザー フローを作成して新しい ユーザー フローを作成 する手順を使用しますが、今回は認証方法として [パスワード付きの電子メール] を選択します。 ユーザー属性として 国/地域 と 市区町村 を構成する必要があります。 または、既存のユーザー フローを変更して、パスワードで電子メールを使用することもできます (外部 ID の選択>ユーザー フロー>SignInSignUpSample>Identity プロバイダー>Email with password>Save)。
サンプル アプリを実行し、省略記号メニュー (...) を選択して、その他のオプションを開きます。
テストするシナリオ ( [Email + password]\(電子メール + パスワード \) や [ Email + password sign-up with user attributes]\(ユーザー属性を使用した電子メール + パスワード + パスワードのサインアップ \) や [パスワードのリセット]など) を選択し、プロンプトに従います。 パスワードリセットをテストするには、まずユーザーをサインアップし、テナント内のすべてのユーザーに対して電子メールワンタイムパスコードを有効にする必要があります。
保護された API フローのテスト呼び出し
ネイティブ認証を使用して サンプルの Android モバイル アプリから保護された Web API を呼び出すことで、サンプル iOS モバイル アプリで 保護された Web API を呼び出す方法に関するページの手順を使用します。