パスキー(WebAuthn)によるログイン認証(PasskeyAuthプラグイン)

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"

動作要件

パスキーを利用するには、次の条件を満たす必要があります。

  • WebAuthn に対応した最新のブラウザ(Chrome / Edge / Safari / Firefox の最新版など)
  • 端末側で生体認証(Touch ID / Face ID / Windows Hello など)または PIN が設定されていること
  • もしくは、USB/NFC/Bluetooth で接続するセキュリティキー(YubiKey 等)

プラグインのセットアップが完了していれば、ログイン画面の「ユーザー名」「パスワード」の下に「パスキーでサインイン」ボタンが表示されます。表示されない、または押しても反応しない場合は、ブラウザのコンソールに passkey-auth.js のエラーが出ていないか確認のうえ、passkeyauth_asset_pathpasskeyauth_host の設定を見直してください。

パスキーの登録

最初の 1 回だけ、通常のユーザー名・パスワードでログインし、利用するデバイスのパスキーを登録します。

  1. 管理画面にログインする
  2. 画面上のメニューにある「ユーザーと権限(人のアイコン)」から「パスキー認証情報」を開く
    画面キャプチャ:「パスキー認証情報」があるメニュー
  3. 画面左上の「新しいパスキーを登録」ボタンをクリックする
    画面キャプチャ:「新しいパスキーを登録」ボタンがある一覧画面
  4. ダイアログが開いたら、デバイス名を入力する
    • 入力欄には、お使いのブラウザ・OS から推測した名前(例: Chrome on macOS)が自動で入ります
    • 複数のパスキーを登録したときに見分けられるよう、「業務用MacBook」「iPhone 17」「YubiKey(予備)」「1Password」など、自分にとって意味のある名前に書き換えることを推奨します
      画面キャプチャ:パスキー登録中の様子
  5. 「パスキーを登録」をクリックし、ブラウザ/OS のダイアログに従って生体認証・PIN・セキュリティキーで承認する
  6. 「パスキーが正常に登録されました」と表示されれば登録完了。一覧に新しい行が追加されます

登録時に出やすいメッセージ

  • 「This device's passkey is already registered」: 同じ認証器のパスキーが登録済みです。すでに登録されているものをそのまま使うか、別の端末で登録してください
  • 「Registration was cancelled」: ブラウザのダイアログでキャンセルした、または時間内に承認しなかった場合に表示されます。もう一度操作してください

ログインと運用

パスキーでログインする

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

一覧画面で確認できる情報

「パスキー認証情報」一覧では、各パスキーについて次の情報を確認できます。

項目 内容
デバイス名 登録時に付けた名前
ユーザー パスキーの所有者
認証利用回数 認証器が報告するサインカウンター
最終利用日 直近でこのパスキーが使われた日時
作成日 パスキーを登録した日時

最終利用日を見ることで「最近使っていないパスキー」を把握できます。機種変や紛失で使わなくなったパスキーは、削除して整理してください。

パスキーが使えなくなったとき

  • 別のパスキーが残っている場合: そのパスキーでログインし、使えなくなったパスキーを一覧から削除したうえで、新しいデバイスのパスキーを登録してください
  • すべてのパスキーが使えない場合: ユーザー名・パスワードでログインし、再度パスキーを登録してください。パスワードログインも利用できない場合は、他の管理者に対象パスキーの削除を依頼してください

ユーザーの管理に役立つ絞り込み

「ユーザー」一覧では、システムフィルタとして次の 2 つが追加されています。

  • 「パスキーが有効のユーザー」
  • 「パスキーが未設定のユーザー」

「未設定のユーザー」を絞り込んで登録を案内する、といった棚卸しに活用できます。


日本語
ふりがな付き
English
简体中文
繁體中文
한국어