ローカル認証、登録、その他の設定

重要

ポータル機能は、ASP.NET ID API 上に構築された認証機能を提供します。 それに対して、ASP.NET ID は、OWIN フレームワーク上に構築され、これは認証システムの重要なコンポーネントでもあります。 提供されるサービスには、次のものが含まれます。

  • ローカル ユーザーのサインイン (ユーザー名とパスワード)
  • 外部 (社会プロバイダー) ユーザーはサード パーティ ID プロバイダー経由でサインイン
  • 電子メールでの二段階認証
  • 電子メール アドレスの確認
  • パスワード回復
  • 事前入力された連絡先レコードを登録するために招待コードを登録する

注意

取引先担当者テーブルのポータル連絡先フォーム上の 確認済み携帯電話 フィールドは、現在は何の役にも立ちません。 このフィールドは、Adxstudio Portals からアプグレードされた時のみに使用される必要があります。

要件

ポータルに必要なもの:

  • 基本ポータル
  • Microsoft ID
  • Microsoft ID ワークフロー ソリューション パッケージ

認証の概要

返却されたポータル ビジターでは、ローカル ユーザー資格情報または外部 ID プロバイダー アカウントのどちらかを使用して認証できます。 新規ビジターは、ユーザー名およびパスワードを提示するか、外部プロバイダー経由で登録することにより、新しいユーザー アカウントを登録できます。 ポータル管理者から招待コードを受け取ったビジターは、新しいユーザー アカウントにサインアップするときにコードを引き換えることができます。

関連サイトの設定:

  • Authentication/Registration/Enabled
  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/OpenRegistrationEnabled
  • Authentication/Registration/InvitationEnabled
  • Authentication/Registration/RememberMeEnabled
  • Authentication/Registration/ResetPasswordEnabled

ローカル ID または外部 ID でサインイン

次のイメージは、ローカル アカウントを使用するか、外部 ID プロバイダーを選択した場合のログイン オプションを示しています。

ローカル アカウントでサインイン

ローカル ID または外部 ID で登録

次のイメージは、ローカル アカウントを使用するか、外部 ID プロバイダーを選択して登録するためのサインアップ画面を示しています。

新しいローカル アカウントを登録する

招待コードを手動で入力します

次のイメージは、招待コードを使用して招待を引き換えるオプションを示しています。

招待コードを使用して登録

パスワードを忘れた/パスワードのリセット

パスワードを再設定する必要のある再訪問者 (自分のユーザー プロファイルで電子メール アドレスとパスワードを設定したことのあるユーザー) は、パスワードを再設定するためのトークンを自分の電子メール アカウントに送信するようにリクエストできます。 再設定用のトークンの所有者は、新しいパスワードを自分で決めて設定することができます。 トークンを破棄して、ユーザーの元のパスワードを変更せずに残すこともできます。

関連サイトの設定:

  • Authentication/Registration/ResetPasswordEnabled
  • Authentication/Registration/ResetPasswordRequiresConfirmedEmail

関連するプロセス: 取引先担当者をリセットするパスワードの送信

  1. 必要に応じてワークフローの電子メールをカスタマイズします。
  2. 処理を実行するには、電子メールを送信します。
  3. 訪問者に電子メールを確認するように促します。
  4. 訪問者には、パスワードをリセットするための電子メールが、説明と共に届きます。
  5. 訪問者が再設定フォームに戻ります。
  6. パスワードのリセットが完了しました。

招待状の引き換え

招待コードを入力すると、登録しようとしている訪問者を、その訪問者用に事前に準備した既存の取引先担当者レコードに関連付けることができます。 通常、招待コードは電子メールで送信されますが、一般的なコードの送信フォームを使用して、他のチャネル経由でコードを送信できます。 有効な招待コードが送信されたら、通常ユーザー登録 (サインアップ) プロセスでは新しいユーザー アカウントの設定が実施されます。

関連サイトの設定:

Authentication/Registration/InvitationEnabled

関連するプロセス 招待状の送信

このワークフローによって送信される電子メールは、ポータル上の招待ページを利用するために URL を使用することでカスタマイズされる必要があります: https://portal.contoso.com/register/?returnurl=%2f&invitation={Invitation Code(Invitation)}

  1. 新しい連絡先に対する招待状を作成します。

    新しい連絡先に対する招待状を作成します。

  2. 新しい招待状をカスタマイズし、保存します。

    新しい招待状のカスタマイズ

  3. 招待メールをカスタマイズします。

  4. 招待状を送るワークフローを処理します。

  5. 招待メールで償還ページを開きます。

  6. ユーザーは招待コードを送信して登録します。

    招待コードを使用して登録

登録が無効です

ユーザーが招待状を引き換えた後にユーザーの登録が無効である場合、次のコンテンツ スニペットを使用してメッセージを表示します。

名前: Account/Register/RegistrationDisabledMessage

: 登録が無効になっています。

プロフィール ページでユーザー アカウントを管理する

認証されたユーザーは、プロファイル ページの セキュリティ ナビゲーション バーを介して自分のユーザー アカウントを管理します。 ユーザーのユーザー登録時に選択するアカウントは 1 つのローカル アカウントまたは 1 つの外部アカウントに限定されていません。 外部アカウントを持つユーザーは、ユーザー名とパスワードを適用することによってローカル アカウントを作成するか選択できます。 ローカル アカウントから開始したユーザーは、自分のアカウントに複数の外部の ID を関連付けることができます。 プロフィールのページは、確認用の電子メールを自分の電子メール アカウントに送るようにリクエストをして電子メール アドレスを確認するようにユーザーに注意喚起する場所でもあります。

関連サイトの設定:

  • Authentication/Registration/LocalLoginEnabled
  • Authentication/Registration/ExternalLoginEnabled
  • Authentication/Registration/TwoFactorEnabled

パスワードを設定または変更する

既存のローカル アカウントを持つユーザーは、元のパスワードを入力することによって新しいパスワードを適用することができます。 ローカル アカウントを持たないユーザーは、ユーザー名とパスワードを選択して新しいローカル アカウントを設定することができます。 ユーザー名は、設定後に変更することはできません。

関連サイトの設定:

Authentication/Registration/LocalLoginEnabled

関連するプロセス:

  • ユーザー名およびパスワードを作成します。
  • 既存のパスワードを変更します。

電子メール アドレスの確認

電子メールを変更すると (または最初に作成すると)、電子メールが未確認の状態になります。 ユーザーは、新しい電子メール アドレスに確認メールを要求することができます。その電子メールには、電子メール確認プロセスを完了するためにユーザーへの指示が含まれています。

関連するプロセス: 確認をする電子メールを連絡先に送信する

  1. 必要に応じてワークフローの電子メールをカスタマイズします。
  2. ユーザーは、未確認状態の新規電子メールを送信します。
  3. ユーザーは、確認のために電子メールを確認します。
  4. 確認メールをカスタマイズします。
  5. 確認をする電子メールを連絡先に送信する ワークフローを処理します。
  6. ユーザーは確認リンクを設定して確認プロセスを完了します。

注意

確認電子メールは、取引先担当者の既定電子メール (emailaddress1) にのみ送信されるため、既定電子メールが取引先担当者に対して指定されていることを確認します。 確認電子メールは、取引先担当者レコードの電子メール アドレス 2 (emailaddress2) や連絡用電子メール アドレス (emailaddress3) には送信されません。

2 要素認証を有効化する

二段階認証機能は、標準のローカルまたは外部アカウント サインインに加えて確認電子メールの所有権の証拠を要求することによってユーザー アカウント セキュリティを強化します。 二段階認証有効のアカウントにサインインするユーザーには、アカウントに関連付けられている確認電子メールにセキュリティ コードが送られます。 セキュリティ コードは、サインイン処理を完了するために必ず送信する必要があります。 ユーザーは検証が完了したブラウザーを記憶するかどうか選ぶことができるので、セキュリティ コードは同じブラウザーから次にユーザーがサインインする場合は要求されません。 各ユーザー アカウントでこの機能が個別に有効となり、確認電子メールを要求することができます。

警告

Authentication/Registration/MobilePhoneEnabled サイト設定を従来機能を有効化するように作成および有効化する場合は、エラーが発生します。 このサイト設定は、そのままでは提供されておらず、ポータルではサポートされていません。

関連サイトの設定:

  • Authentication/Registration/TwoFactorEnabled
  • Authentication/Registration/RememberBrowserEnabled

関連するプロセス: ツーファクタ コードを連絡先に電子メールの送信

  1. 二段階認証を有効にします。
  2. 電子メールでセキュリティ コードを受信することを選択します。
  3. セキュリティのコードを含む電子メールをお待ちください。
  4. 二段階認証のコードを連絡先にメールで送信 を処理します。 処理します。
  5. 二段階認証は無効にすることができます。

外部アカウントの管理

認証されたユーザーは、複数の外部 ID を、各構成済みの ID プロバイダーから、自分のアカウントに接続 (登録) できます。 ID が接続されると、ユーザーは接続された任意の ID を使用し、サインインすることを選択できます。 既存の ID は、少なくとも 1 つの外部 ID またはローカル ID を残して、接続解除することができます。

関連サイトの設定:

  • Authentication/Registration/ExternalLoginEnabled

外部 ID プロバイダー サイトの設定

  1. ユーザー アカウントに接続するプロバイダーを選択します。

    外部アカウントの管理

  2. 接続するプロバイダーを使用してサインインします。

プロバイダーが接続されました。 プロバイダーを接続解除することもできます。

ASP.NET ID 認証の有効化

以下の表で、各種の認証方式や挙動を有効および無効にするための設定を説明しています。

サイト設定の名前 内容
Authentication/Registration/LocalLoginEnabled ユーザー名 (または電子メール) とパスワードによるローカル アカウントのサインインを有効化または無効化します。 既定値: true
Authentication/Registration/LocalLoginByEmail ユーザー名フィールドのかわりに電子メール アドレス フィールドを使用するローカル アカウントのサインインを有効化または無効化します。 既定: false
Authentication/Registration/ExternalLoginEnabled 外部アカウントのサインインと登録を有効化または無効化します。 既定値: true
Authentication/Registration/RememberMeEnabled このアカウントを記憶する チェック ボックスをローカルのサインインで選択またはクリアすると、Web ブラウザーを閉じたあとも認証セッションを継続します。 既定値: true
Authentication/Registration/TwoFactorEnabled 2 要素認証をユーザーが有効化できるオプションを有効または無効にします。 確認電子メール アドレスでユーザーは追加した二段階認証のセキュリティを選択できます。 既定: false
Authentication/Registration/RememberBrowserEnabled 現在のブラウザーの二次因数検証を保持する二次因数検証 (メール コード) の ブラウザを記憶する チェック ボックスを選択またはクリアします。 ユーザーは、同一のブラウザーを使用する場合に、次回のサインインで二段階認証を行う必要がなくなります。 既定値: true
Authentication/Registration/ResetPasswordEnabled パスワード再設定機能を有効または無効にします。 既定値: true
Authentication/Registration/ResetPasswordRequiresConfirmedEmail 確認済みの電子メール アドレスについてのみ、パスワード再設定を有効または無効にします。 有効の場合、未確認の電子メール アドレスにはパスワード再設定の手順を送信できません。 既定: false
Authentication/Registration/TriggerLockoutOnFailedPassword パスワードの認証失敗の記録を有効または無効にします。 無効の場合、ユーザー アカウントがロックされることはありません。既定値: true
Authentication/Registration/IsDemoMode 開発環境やデモ環境でのみ使用されるデモ モード フラグを有効または無効にします。 運用環境でこの設定を有効にしないでください。 デモ モードでは、Web アプリケーション サーバーに対して Web ブラウザーがローカルで実行している必要があります。 デモ モードを有効にしている場合、パスワード再設定のコードおよび 2 要素認証のコードは、すばやくアクセスするためにユーザーに対して表示されます。 既定: false
Authentication/Registration/LoginButtonAuthenticationType これにより、ポータルが単一の外部 ID プロバイダーのみを要求する場合 (すべての認証を処理するため)、ヘッダーのナビゲーション バーの サインイン ボタンからその外部 ID プロバイダーのサインイン ページに直接リンクすることができます (中間的なローカルのサインイン フォームや ID プロバイダーの選択ページにリンクする代わりとして)。 この動作のためには、単一の ID プロバイダーのみが選択されている必要があります。 プロバイダーの AuthenticationType の値を指定します。
Azure AD B2C を使用するような OpenID Connect を使用した単一サインオン構成については、ユーザーは認証を提供しなければなりません。
OAuth 2.0 ベースのプロバイダーでは、受け入れられる値は Facebook, Google, Yahoo, [!INCLUDE[cc-microsoft](../../../includes/cc-microsoft.md)], LinkedIn, or Twitter<br>For WS-Federation&ndash;based providers, use the value specified for the Authentication/WsFederation/ADFS/AuthenticationTypeandAuthentication/WsFederation/Azure/[provider]/AuthenticationType` のサイト設定で指定した値となります。 例: https://adfs.contoso.com/adfs/services/trust、Facebook-0123456789、Google、Yahoo!、URL:[!INCLUDE[pn-ms-windows-short](../../../includes/pn-ms-windows-short.md)]LiveID。

ユーザー登録の有効化または無効化

以下ではユーザー登録 (サインアップ) のオプションを有効および無効にする設定について説明します。

サイト設定の名前 内容
Authentication/Registration/Enabled ユーザー登録のすべてのフォームを有効または無効にします。 このセクションのほかの設定を使用できるようにするには、登録を有効化する必要があります。 既定値: true
Authentication/Registration/OpenRegistrationEnabled 新しいローカル ユーザーを作成するためのサインアップ登録フォームを有効または無効にします。 サインアップのフォームでは、ポータルへの未登録の訪問者が、新しいユーザー アカウントを作成することができます。 既定値: true
Authentication/Registration/InvitationEnabled 招待コードがあるユーザーを登録する招待コード入力フォームを有効化または無効化します。 既定値: true
Authentication/Registration/CaptchaEnabled ユーザー登録ページで画像文字を有効化または無効化します。 既定: false
注意: このサイト設定は既定では使用できない場合があります。 画像文字を有効にするには、サイト設定を作成して、その値を true に設定する必要があります。

注意

登録はユーザーの既定メール (emailaddress1) を使用して実行されるため、既定メールがユーザーに対して指定されていることを確認します。 ユーザーは、取引先担当者レコードの電子メール アドレス 2 (emailaddress2) や連絡用電子メール アドレス (emailaddress3) を使用して登録できません。

ユーザーの資格情報の検証

以下ではユーザー名およびパスワードの検証パラメーターを調整するための設定について説明します。 検証は、ユーザーが新しいローカル アカウントにサインアップするか、パスワードを変更した場合に起こります。

サイト設定の名前 内容
Authentication/UserManager/PasswordValidator/EnforcePasswordPolicy パスワードに、次のカテゴリの 3 つからの文字を含めるかどうかを示します:
  • ヨーロッパ言語の大文字 (A ~ Z、区別的発音符号を含む、ギリシャ文字、およびキリル文字)
  • ヨーロッパ言語の小文字 (a ~ z、シャープ s、区別的発音符号を含む、ギリシャ文字、およびキリル文字)
  • 基本 10 桁 (0 ~ 9)
  • 非英数字 (特殊文字) (!、$、#、% など)
既定値: true。 詳細: パスワード ポリシー
Authentication/UserManager/UserValidator/AllowOnlyAlphanumericUserNames ユーザー名に英数字のみ許可するかどうかを示します。
既定: false
Authentication/UserManager/UserValidator/RequireUniqueEmail ユーザーの検証に一意の電子メールを必要とするかどうかを示します。
既定値: true
Authentication/UserManager/PasswordValidator/RequiredLength 最低限必要なパスワードの文字数。
既定値: 8
Authentication/UserManager/PasswordValidator/RequireNonLetterOrDigit パスワードに英字以外の文字または数字を許可するかどうかを示します。
既定: false
Authentication/UserManager/PasswordValidator/RequireDigit パスワードに数字 (0 ~ 9) が必要であるかどうかを示します。
既定: false
Authentication/UserManager/PasswordValidator/RequireLowercase パスワードに小文字 (a ~ z) が必要かどうかを示します。
既定: false
Authentication/UserManager/PasswordValidator/RequireUppercase パスワードに大文字 (A ~ Z) が必要かどうかを示します。
既定: false

ユーザー アカウントのロックアウトの設定

以下ではアカウントを認証できないようにロックする場合の方法とタイミングの設定を説明します。 短い間隔で指定回数のパスワード失敗の操作が行われたのを検出すると、ある期間、ユーザー アカウントをロックします。 そのユーザーは、その期間の経過後にもう一度実行できます。

サイト設定の名前 内容
Authentication/UserManager/UserLockoutEnabledByDefault ユーザーの作成時にユーザーのロックアウトを有効にするかどうかを示します。
既定値: true
Authentication/UserManager/DefaultAccountLockoutTimeSpan Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout に達するまでの、ユーザーがロックアウトされるまでの既定の経過時間。
既定値: 24:00:00 (1 日)
Authentication/UserManager/MaxFailedAccessAttemptsBeforeLockout ロックアウトされるまでにユーザーがアクセス試行できる最大回数 (ロックアウトが有効な場合)。
既定値: 5

次に、CookieAuthenticationOptions クラスで定義されている既定の認証 Cookie の動作を変更するための設定について説明します。

サイト設定の名前 内容
Authentication/ApplicationCookie/AuthenticationType アプリケーション認証 cookie の種類です。
既定値: ApplicationCookie
Authentication/ApplicationCookie/CookieName ID を保持するために使用する cookie 名を決定します。
既定値: .AspNet.Cookies
Authentication/ApplicationCookie/CookieDomain Cookie の作成に使用するドメインを決定します。
Authentication/ApplicationCookie/CookiePath cookie の作成に使用するパスを決定します。
既定値: /
Authentication/ApplicationCookie/CookieHttpOnly クライアント側 JavaScript から cookie へのアクセスをブラウザーが許可するかどうか決定します。
既定値: true
Authentication/ApplicationCookie/CookieSecure cookie が HTTPS 要求でのみ送信されるかを決定します。
既定値: SameAsRequest
Authentication/ApplicationCookie/ExpireTimeSpan アプリケーション cookie が作成された時点から有効状態にとどまる時間をコントロールします。
既定値: 24:00:00 (1 日)
Authentication/ApplicationCookie/SlidingExpiration SlidingExpiration は true にセットされて、有効期限ウィンドウの半分を過ぎた要求を処理するときはいつでも、ミドルウェアに新しい有効期限の新しい cookie を再発行するよう指示します。
既定値: true
Authentication/ApplicationCookie/LoginPath LoginPath プロパティはミドルウェアに対し、送信 401 未承認ステータス コードを指定サインイン パス上の 302 リダイレクトに変更する必要があることを通知します。
既定値: ~/signin
Authentication/ApplicationCookie/LogoutPath サインアウト パスがミドルウェアに提供される場合、ReturnUrlParameter に基づきそのパスに対する要求がリダイレクトされます。
Authentication/ApplicationCookie/ReturnUrlParameter ReturnUrlParameter は、401 未承認ステータス コードがサインイン パス上に 302 リダイレクトに変更されるときの、ミドルウェアが追加するクエリ文字列パラメーターの名前を決定します。
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval セキュリティ スタンプ検証間の期間。
既定値: 30
Authentication/TwoFactorCookie/AuthenticationType 二段階認証 cookie の種類です。
既定値: TwoFactorCookie
Authentication/TwoFactorCookie/ExpireTimeSpan 二段階 cookie が作成された時点から有効状態にとどまる時間をコントロールします。
既定値: 5

次の手順

アイデンティティ プロバイダを Azure AD B2Cへ移行する

関連項目

Power Apps ポータルにおける認証の概要
ポータルの OAuth 2.0 プロバイダーを構成する
ポータルの OpenID Connect プロバイダーを構成する
ポータルの SAML 2.0 プロバイダーを構成する
ポータルの WS-Federation プロバイダーを構成する
Microsoft Learn: Power Apps ポータルの認証設定