パスキー

パスキーは、パスワードを入力する代わりに指紋、顔、デバイスのPINでサインインできるようにします。パスワードマネージャーやスマートフォンに保存され、元のサイトでのみ機能し、フィッシングや他での再利用はできない。Power Portals Proは、ReactとBlazorの両方でポータルのローカルアカウントにパスキーを追加します。ユーザーはアカウントページでパスキーを追加し、一つのステップでサインインできます。

パスキーのオフにする

パスキーはローカルアカウントがある場所(LocalAccountsEnabled、デフォルトでオン)に設置されています。パスキーはパスワードと同じように連絡先のために保管されるローカル認証情報です。パスキーを提供しないポータルの場合は、PasskeysEnabled on AuthClientOptionsをProgram.csでfalseするように設定してください。電源を切ると、サーバーはパスキールートの提供を停止し、パスキーサインインを拒否し、アカウントページにもパスキーが表示されなくなり、すでに保存済みのパスキーは使えなくなります。

重要

パスキーはPower Portals Pro管理ソリューションが提供する ppp_passkey テーブルに保持されます。アカウントページでパスキーを提供する前にソリューションをインポートし、ポータルのアプリケーションユーザーがshipdされたアプリケーションユーザーロールを保持し、その権限がテーブル上で保持されていることを確認してください。

アカウントページで

プロジェクトテンプレートが生成するアカウントページは、ログインページにパスワードフォームの横にあるパスキーボタン付きのサインインボタン、プロフィールページのパスキーセクションでユーザーがパスキーを追加・変更・削除するページなどがあります。どちらもGET /api/auth/optionsから読み取るか、Blazor ServerのページでAuthClientOptions読みpasskeysEnabled、パスキーがオフのままは何も表示されません。

構成要素

両方のスタックにある2つのコンポーネントが作業を行っています。 PasskeySignInButton はユーザーが選んだパスキーでサインインし、パスキーを使えないブラウザでは何もレンダリングしません。 PasskeyManager サインインしたユーザーのパスキーを一覧にし、追加、名前変更、削除を可能にします。パスキーがオンの時のみ表示します。

反応してください

ブレイザー

サインインすると、Blazorボタンで ReturnUrlページが新たに読み込まれ、すべてのページがユーザーがサインインしていると認識されます。 OnResult ページに、ロックアウトされたアカウントなど、ページ自身が処理する結果を渡します。セレモニーのブラウザ部分はコンポーネント独自のスクリプトで動作するため、Blazor Server、WebAssembly、Autoでも同様に動作します。

式の仕組み

各パスキー操作は2つのリクエストで構成されており、ASP.NET Core Identityのパスキーサポートに基づいて構築されています。最初のリクエストはブラウザが navigator.credentialsに渡したオプションを返し、2つ目はブラウザが応答した内容を返します。Identityはそれらの間のチャレンジをクッキーとして保持します。

セキュリティ

注記

ブラウザは、開発中のhttpslocalhost、または安全な発信元でのみパスキーを許可します。