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

重要

Power Pages サイトでの認証には Azure AD B2C ID プロバイダーを使用し、ローカル ID プロバイダーは非推奨にすることをお勧めします。

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

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

注意

取引先担当者レコードの Mobile Phone Confirmed 列は、Adxstudio Portals からアップグレードする場合以外は使用されません 。

要件

Power Pages では以下が必要です。

  • 基本ポータル
  • 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

パスワードのリセット

登録時にメール アドレスを提供した再訪問者は、パスワードのリセット トークンをメール アカウントに送信するように要求できます。 再設定用のトークンの所有者は、新しいパスワードを自分で決めて設定することができます。 トークンを破棄して、ユーザーの元のパスワードを変更せずに残すこともできます。

関連サイトの設定:

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

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

  1. 訪問者はメール アドレスを提供します。
  2. プロセスを開始するには、メールを送信します。
  3. 訪問者に電子メールを確認するように促します。
  4. 訪問者には、パスワードをリセットするための電子メールが、説明と共に届きます。
  5. 訪問者はリセット フォームに戻り、新しいパスワードを選択します。
  6. パスワードのリセットが完了しました。

招待状の引き換え

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

関連サイトの設定: Authentication/Registration/InvitationEnabled

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

招待メールをカスタマイズして、サイトの招待状の引き換えページへの URL を含めます。

  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. ユーザーは確認リンクを設定して確認プロセスを完了します。

取引先担当者にプライマリ メールアドレスが指定されていることを確認します。 確認メールは、取引先担当者レコードのプライマリ メール アドレス (emailaddress1) にのみメールを送信し、セカンダリ (emailaddress2) または別のアドレス (emailaddress3) には送信しません。

2 要素認証を有効化する

2 要素認証は、標準のローカルまたは外部アカウント認証に加えて確認メール アドレスの所有権の証拠を要求することによってユーザー アカウント セキュリティを強化します。 ユーザーが 2 要素認証が有効なアカウントにサインインしようとすると、アカウントに関連付けられている確認メール アドレスにセキュリティ コードが送信されます。 ユーザーは、セキュリティ コードを入力してサインイン プロセスを完了する必要があります。 ユーザーは、検証が完了したブラウザーをサイトで記憶する選択ができるので、次回同じブラウザーにサインインする際はセキュリティ コードが不要です。 各ユーザー アカウントでこの機能が個別に有効となり、確認メール アドレスを要求することができます。

警告

レガシー機能を有効にするように Authentication/Registration/MobilePhoneEnabled サイト設定を作成して有効すると、エラーが発生します。 このサイト設定は、そのまま使用できる状態で提供されず、Power Pages でサポートされていません。

関連サイトの設定:

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

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

  1. 訪問者は、メールでセキュリティ コードを受信することを選択します。
  2. 訪問者は、セキュリティ コードを含むメールを待機します。
  3. 訪問者はセキュリティ コードを入力します。
  4. 2 要素コードを取引先担当者にメールで送信するワークフローを処理します。
  5. 訪問者は、2 要素認証を無効にすることができます。

外部アカウントの管理

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

関連サイトの設定: Authentication/Registration/ExternalLoginEnabled

関連プロセス: ID の接続

  1. 訪問者は、ユーザー アカウントに接続するプロバイダーを選択します。
  2. 訪問者は、接続されたプロバイダーを使用してサインインします。

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

ASP.NET ID 認証の有効化

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

サイト設定の名前 Description
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 現在のブラウザーの二次因数検証を保持する二次因数検証 (メール コード) のブラウザを記憶するチェック ボックスを選択またはクリアします。 ユーザーは、同じブラウザーを使用する場合、それ以降のサインインで 2 要素認証を行う必要はありません。 既定値: 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 プロバイダーのみが選択されている必要があります。 プロバイダーの AuthenticationType を指定します。
- Azure AD B2C を使用するような OpenID Connect を使用した単一サインオン構成の場合は、ユーザーはオーソリティを提供する必要があります。
- OAuth 2.0 ベースのプロバイダーの場合、許可される値は、FacebookGoogleYahooMicrosoftLinkedIn、または Twitter です。
- WS-Federation ベースのプロバイダーの場合は、Authentication/WsFederation/ADFS/AuthenticationType および Authentication/WsFederation/Azure/\<provider\>/AuthenticationType のサイト設定で指定した値を使用します。

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

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

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

ユーザーにプライマリ メールアドレスが指定されていることを確認します。 ユーザーの登録は、取引先担当者レコードのプライマリ メール アドレス (emailaddress1) でのみ可能で、セカンダリ (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 パスワードに数字が必要かどうかを指定します。 既定: False
Authentication/UserManager/PasswordValidator/RequireLowercase パスワードに小文字が必要かどうかを指定します。 既定: False
Authentication/UserManager/PasswordValidator/RequireUppercase パスワードに大文字が必要かどうかを指定します。 既定: False

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

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

サイト設定の名前 内容
Authentication/UserManager/UserLockoutEnabledByDefault ユーザーの作成時にユーザーのロックアウトを有効にするかどうかを示します。 既定値: True
Authentication/UserManager/DefaultAccountLockoutTimeSpan 最大失敗試行回数に達した後にユーザーがロックアウトされる既定の時間数を設定します。 既定値: 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 有効期限ウィンドウの半分を過ぎた要求を処理するときはいつでも、ミドルウェアに新しい有効期限の新しい Cookie を再発行するよう指示します。 既定値: True
Authentication/ApplicationCookie/LoginPath ミドルウェアに対し、送信 401 未承認ステータス コードを指定サインイン パス上の 302 リダイレクトに変更する必要があることを通知します。 既定値: /signin
Authentication/ApplicationCookie/LogoutPath サインアウト パスがミドルウェアに提供される場合、ReturnUrlParameter に基づきそのパスに対する要求がリダイレクトされます。
Authentication/ApplicationCookie/ReturnUrlParameter 401 未承認ステータス コードがサインイン パス上に 302 リダイレクトに変更されるときの、ミドルウェアが追加するクエリ文字列パラメーターの名前を決定します。
Authentication/ApplicationCookie/SecurityStampValidator/ValidateInterval セキュリティ スタンプ検証間の期間を設定します。 既定値: 30 分
Authentication/TwoFactorCookie/AuthenticationType 2 要素認証 Cookie の種類を設定します。 既定値: TwoFactorCookie
Authentication/TwoFactorCookie/ExpireTimeSpan 2 要素 Cookie が作成された時点から有効状態にとどまる時間をコントロールします。 値は 6 分を超えてはいけません。 既定値: 5 分

次の手順

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

参照

Power Pages における認証の概要
OAuth 2.0 プロバイダーを設定する
OpenID Connect プロバイダーを設定する
SAML 2.0 プロバイダーを設定する
WS-Federation プロバイダーを設定する