PowerCMS X の管理画面にパスキー(WebAuthn)でログインする機能を追加するプラグインです。パスワードに代わる、より安全で簡単なログイン手段を提供します。
このプラグインはPHP 8.2以上で動作します。
パスキーは、パスワードの代わりに 端末(PC・スマートフォン・セキュリティキー)と生体認証/PIN を使ってログインする仕組みです。
「パスワードを盗まれる」「フィッシングで誤って入力する」といったリスクを根本的に下げられる、より安全なログイン方法です。
必要なモジュールを composer でインストールします。autoload.php のパスを環境変数 composer_autoload に指定します。
composer require web-auth/webauthn-lib:^5.2
環境変数 passkeyauth_host にドメイン名を設定します。
"passkeyauth_host": "cms.example.jp"
パスキーを利用するには、次の条件を満たす必要があります。
プラグインのセットアップが完了していれば、ログイン画面の「ユーザー名」「パスワード」の下に「パスキーでサインイン」ボタンが表示されます。表示されない、または押しても反応しない場合は、ブラウザのコンソールに passkey-auth.js のエラーが出ていないか確認のうえ、passkeyauth_asset_path や passkeyauth_host の設定を見直してください。
最初の 1 回だけ、通常のユーザー名・パスワードでログインし、利用するデバイスのパスキーを登録します。


Chrome on macOS)が自動で入ります
ログイン画面では、ブラウザやパスワード管理ツールのダイアログから登録済みのパスキーを選ぶか、「パスキーでサインイン」ボタンを押すことでログイン処理が開始されます。最後にブラウザ/OS の生体認証・PIN ダイアログで承認するとログインが完了します。パスワードログインも引き続き利用できるので、必要に応じて使い分けてください。

「パスキー認証情報」一覧では、各パスキーについて次の情報を確認できます。
| 項目 | 内容 |
|---|---|
| デバイス名 | 登録時に付けた名前 |
| ユーザー | パスキーの所有者 |
| 認証利用回数 | 認証器が報告するサインカウンター |
| 最終利用日 | 直近でこのパスキーが使われた日時 |
| 作成日 | パスキーを登録した日時 |
最終利用日を見ることで「最近使っていないパスキー」を把握できます。機種変や紛失で使わなくなったパスキーは、削除して整理してください。
「ユーザー」一覧では、システムフィルタとして次の 2 つが追加されています。
「未設定のユーザー」を絞り込んで登録を案内する、といった棚卸しに活用できます。