Rapls Passkey マニュアル(Free 版)
WordPress のログインをパスキー(WebAuthn / FIDO2)に置き換える無料プラグインの使い方を詳しく解説します。
バージョン: 0.13.62 | PHP 8.2 以上 | WordPress 6.0 以上
Rapls Passkey とは
Rapls Passkey は、WordPress のログインをパスキー(WebAuthn / FIDO2)で行えるようにするプラグインです。パスワードレスでフィッシングに強いサインインを、追加の外部サービスなしにサイトへ組み込めます。
- パスワードレス・フィッシング耐性: 端末内の生体認証や画面ロックで本人確認します。パスワードを打ち込む必要がありません。
- 同一デバイスのパスキー: Touch ID・Windows Hello・Face ID など、いま使っている端末の認証機能をそのまま利用できます。
- 別のデバイスでのサインイン: ブラウザーが対応していれば、その標準機能で手元のスマートフォンをスキャンしてサインインできます(専用の QR 承認フローは Pro 版の機能です)。
- パスワードは無効化されません: 従来のパスワードログインはそのまま残ります。パスキーは「追加」であって、何かを取り上げるものではありません。
- 日本語同梱: UI は英語をソースに、日本語翻訳を同梱しています。すべて翻訳可能です。
動作環境・HTTPS 要件
Rapls Passkey を使うには、次の環境が必要です。
| 項目 | 必要条件 |
|---|---|
| WordPress | 6.0 以上(最新版を推奨) |
| PHP | 8.2 以上 |
| 接続 | HTTPS(localhost を除く) |
localhost(ループバック)です。.local や .test のドメインは例外扱いされないため、実サイトでは必ず HTTPS を有効にしてください。 リライングパーティ ID(RP ID)について
パスキーは、登録したサイトのドメイン(リライングパーティ ID、RP ID)に結び付けられます。既定ではサイトのホスト名がそのまま使われるため、通常は設定不要です。あとから RP ID が変わると、それまでに登録したパスキーがすべて一致しなくなりサインインできなくなるため、公開前にドメインを確定させておくことが重要です。マルチサイトなどで共有の RP ID を使いたい場合は、rapls_passkey_rp_id / rapls_passkey_rp_name フィルターで指定できます(ホストまたはその登録可能な親ドメインである必要があります)。
インストールと有効化
Rapls Passkey は WordPress.org の公式ディレクトリーで配布しています。
- WordPress 管理画面の プラグイン > 新規追加 を開きます。
- キーワード欄に「Rapls Passkey」と入力して検索します。
- 「Rapls Passkey」の 今すぐインストール をクリックし、続けて 有効化 します。
- 有効化すると、設定 > Rapls Passkey に設定画面が追加されます。
ZIP ファイルから手動でインストールする場合は、プラグイン > 新規追加 > プラグインのアップロード から ZIP を選んでインストールしてください。
初回セットアップチェック
パスキープラグインを有効化して設定画面を開いても、パスキーが実際に動くかどうかを左右する 2 つの疑問は残ったままになりがちです。Rapls Passkey は、初回に一度だけ表示されるセットアップチェック(ウィザード)でこれに答えます。
- サイトは HTTPS で配信されているか: 前述のとおり、HTTPS でなければブラウザーはパスキーを拒否します。
- どの RP ID にパスキーが結び付くか: あとから変わると登録済みのパスキーがすべて無効になるため、最初に確認します。
- セキュリティプラグインとの共存: 共存しているセキュリティプラグインを検出し、必要な注意点を知らせます。
- 管理者自身のパスキー登録: 管理者が一度も試していないと、ほかのユーザーで動くかどうか判断できません。ウィザードが登録の手順まで案内します。
最初のパスキーを登録
パスキーは、各ユーザーが自分のプロフィール画面から登録します。
- 管理画面の ユーザー > プロフィール を開きます。
- 「パスキー」セクションまでスクロールします。
- パスキーを登録 ボタンをクリックします。
- ブラウザー/OS のダイアログが表示されるので、指紋・顔認証・画面ロック、またはセキュリティキーで本人確認します。
- 登録したパスキーに分かりやすい名前を付けて保存します(例:「仕事用 MacBook」「YubiKey」)。
登録が完了すると、プロフィール画面のパスキー一覧に追加されます。一覧には、名前・認証器(AAGUID から判定した iCloud Keychain・Google Password Manager・Windows Hello・1Password・YubiKey などの提供元)・登録日時・最終利用日時が表示されます。
パスキーでサインイン
パスキーを登録すると、WordPress のログイン画面(wp-login.php)に「パスキーでサインイン」ボタンが追加されます。
同じデバイスでサインイン
パスキーを登録した端末でそのままサインインする、もっとも一般的な方法です。
- ログイン画面で パスキーでサインイン をクリックします。
- ブラウザーのダイアログで、指紋・顔認証・画面ロックなどで本人確認します。
- 確認が済むとそのままログインが完了します。
対応ブラウザーでは、ユーザー名を入力しなくてもボタンだけでサインインできます(ユーザー名レス / 自動入力)。ユーザー名欄をタップしたときに、ブラウザーが登録済みのパスキーを候補として提示することもあります(Conditional UI)。
別のデバイスでサインイン
いま使っているパソコンにパスキーを登録していなくても、手元のスマートフォンに登録したパスキーでサインインできます。これはブラウザー/OS が標準で備えているクロスデバイス機能を利用します。
- パソコンのログイン画面で パスキーでサインイン をクリックします。
- ブラウザーの選択肢から「別のデバイス」「スマートフォン」などを選びます。
- 画面に表示された QR コードを、スマートフォンのカメラで読み取ります。
- スマートフォン側でパスキーによる本人確認を行うと、パソコン側のサインインが完了します。
パスキーの名前変更
登録後にパスキーの名前を変更できます。名前は登録時に決めたまま固定されていたため、「iCloud Keychain」という同名のエントリーが 2 つ並ぶと、端末を失ったときにどちらを取り消せばよいか分からなくなっていました。名前変更でこれを解消できます。
名前の変更は、プロフィール画面と ショートコードの管理 UI から行えます。変更できるのは本人のみで、操作は監査ログに記録されます。
パスキーの一時停止と再開
パスキーは、削除せずに一時停止できます。修理に出している端末や会社に置いてきた端末を、そのつどパスキーを破棄して後日また登録し直す必要はありません。
- 一時停止したパスキーは、サインインに使えず、ブラウザーにも提示されませんが、削除はされず、あとから再開できます。
- ユーザーは自分のパスキーをプロフィール画面と
ショートコードから管理できます。管理者は誰のパスキーでも一時停止できます。パスキーを管理するにはログインしてください。 - 一時停止中のパスキーは「パスキーを持っている」状態とはみなされません。そのため、パスワードログインを無効にした構成でも、ユーザーがサインイン手段を完全に失うことはありません。
サイトへの埋め込み
ログインボタンやパスキー管理 UI は、ショートコードまたは Gutenberg ブロックとして任意のページ・投稿・ウィジェットに埋め込めます。会員サイトのマイページや専用のログインページに組み込むのに便利です。
ショートコード
| ショートコード | 用途 |
|---|---|
| 未ログインの訪問者向けのパスキーサインインボタン。redirect(サインイン後の遷移先 URL)と label(ボタンの文言)の属性に対応します。 |
| ログイン中のユーザーが自分のパスキーを登録・削除・名前変更・一時停止できる管理 UI。 |
使用例:
パスキーとは ?
パスキーは、指紋・顔認証や端末のロック解除 (PIN) でログインできる、パスワード不要のしくみです。フィッシングに強く、パスワードの使い回しや漏えいの心配がありません。
パスキーを管理するにはログインしてください。
Gutenberg ブロック
ブロックエディターでは、同じ機能が「パスキーでサインイン」ブロックと「パスキーの管理」ブロックとして用意されています。ブロックのサイドバー設定パネルから、遷移先 URL(redirect)とボタンの文言(label)を指定できます。
サイト全体のパスキー一覧
管理者は、ユーザー > パスキーから、サイト上のすべてのパスキーを一覧で確認できます。「いま紛失したノートパソコンにパスキーが残っているのは誰か」といった確認が、ユーザーのプロフィールを一つずつ開かなくても行えます。
一覧は所有者名またはパスキー名で検索でき、次の情報を表示します。
- 所有者と認証器(提供元)
- 登録日時
- 最終利用日時(未使用なら「未使用」)
- 状態(有効/一時停止)
一覧からその場で一時停止や削除を実行できます。
ユーザー一覧のパスキー列
ユーザー > ユーザー一覧にも「パスキー」列が追加され、ユーザーごとの登録数・最終利用・未登録の状態がひと目で分かります。
管理者による代理登録
管理者が、別のユーザーに代わってパスキーを登録できます。設定済みのセキュリティキーを手渡す場合や、対面でユーザーをセットアップする場合に使います。
- 既定では無効です。有効にするには Rapls Passkey Pro > 管理者による代理登録を使うか、Pro を導入していないサイトでは
rapls_passkey/allow_admin_enrolmentフィルターで有効化します。 - 対象ユーザーに対する
edit_user権限を持つ管理者のみが実行できます。 - 登録はアカウント所有者にメールで通知され、監査ログに記録されます。
2FA プラグインとの共存
Rapls Passkey は、SiteGuard WP Plugin・CloudSecure WP Security・Wordfence(Login Security)・Two-Factor と併用OKです。ログインを堅牢化するプラグインとも、二段階認証(2FA)プラグインとも共存するよう設計しています。
SiteGuard / CloudSecure WP Security の画像 CAPTCHA: これらがログイン画面に表示する画像認証は、標準の login_form フックを使うため、Free のパスワードログインフォームにそのまま適用されます。さらに、これらのプラグインが REST API をログイン必須に制限していても、パスキーのログイン経路(rapls-passkey/v1 名前空間)だけは通るよう再開放するため、パスキーでのサインインは妨げられません。初回セットアップ点検では、検出したセキュリティプラグインと共存状況が表示されます。
Wordfence Login Security / Two-Factor などの 2FA:
- パスキーは第 2 要素として扱われます: パスキーサインインはそれ自体がフィッシングに強い多要素認証(MFA)であるため、追加の 2FA 画面で改めて問われることはありません(クロスデバイスの QR フローやパスキーサインアップも同様)。
- 弱いログイン手段はサイトの 2FA を通過させます: メールのマジックリンクやリカバリーコードによるログイン(Pro)は、パスワードチェーンを通らずにセッションを張るため、従来はサイトの 2FA を回避できてしまいました。これらのログインは二段階認証の画面で止まり、サイト側の 2FA プラグイン(Wordfence 自身の検証など)がコードを確認して初めて完了します。
RAPLS_PASSKEY_BYPASS はこのチャレンジも含めて解除するため、誰かを締め出してしまうことはありません。設定 > セッションセキュリティでオフにでき、ログインごとに rapls_passkey/require_second_factor フィルターで制御できます。ほかの 2FA プラグイン向けのアダプターは rapls_passkey/second_factor_providers で登録できます。 reCAPTCHA v3・ログインレート制限
reCAPTCHA v3(パスワードログインの保護)
Google reCAPTCHA v3 で、パスワードログインフォームを保護できます。パスキーログインには適用されません(総当たり攻撃はパスキーに対しては成立しないためです)。
- 設定 > Rapls Passkey の「reCAPTCHA v3」セクションを開きます。
- Google reCAPTCHA で取得したサイトキーとシークレットキーを入力します。
- 必要に応じてスコアしきい値(既定 0.5)を調整します。
- 「reCAPTCHA を有効化」をオンにして保存します。
ログインレート制限
IP アドレスごとに、一定時間内のログイン失敗回数を制限します。しきい値を超えると、設定した時間だけロックされます。
- 制限にカウントされるのは失敗したパスキーの認証だけです。ブラウザーが自動入力のために正当に何度も送る
/login/optionsリクエストはカウントされません。 - サインインに成功するとカウンターはリセットされます。
- 試行回数の上限とロック時間は設定画面で調整できます(既定は 300 秒あたり 30 回)。上限を
0にすると無効になります。 - フィルター
rapls_passkey_login_rate_max/rapls_passkey_login_rate_windowでも変更できます。
通知メール・監査ログ
Rapls Passkey は、重要な操作をユーザーに知らせ、管理者が後から追跡できるよう記録します。
- セキュリティ通知メール: パスキーの登録・削除、新しいデバイスからのパスキーサインインをユーザーに通知します(設定で無効化でき、フィルターで個別に制御できます)。
- 監査ログ: 登録・削除・名前変更・一時停止・サインインなどの操作を記録します。設定画面から CSV でエクスポートできます(Excel 向けに BOM 付き UTF-8。数式インジェクション対策済み)。
緊急バイパス
万一パスキーでサインインできなくなった場合の「非常口」として、wp-config.php に次の 1 行を追加すると、パスキーの必須化と二段階認証チャレンジを一時的に解除できます。
define( 'RAPLS_PASSKEY_BYPASS', true );
WP-CLI
コマンドラインからパスキーを確認・管理できます。運用の自動化や、サインインできなくなったときのサーバー側からの復旧に役立ちます。
| コマンド | 説明 |
|---|---|
wp rapls-passkey list --user=<user> | 指定ユーザーの登録済みパスキー(ID・名前・登録日時・最終利用・署名カウント)を一覧表示します。--user にはユーザー ID・ログイン名・メールアドレスを指定できます。 |
wp rapls-passkey remove <id> | 行 ID を指定してパスキーを削除します(ID は list で確認できます)。削除は所有者に紐付けて監査ログに記録されます。 |
wp rapls-passkey stats | サイト全体の導入状況(パスキーの総数と、パスキーを持つユーザー数)を表示します。 |
使用例:
# admin ユーザーのパスキーを一覧表示する wp rapls-passkey list --user=admin # ID 12 のパスキーを削除する wp rapls-passkey remove 12 # サイト全体の導入状況を確認する wp rapls-passkey stats
Site Health
WordPress の ツール > サイトヘルスに、パスキーが正しく動作するための自己診断を追加します。
- HTTPS で配信されているか
- WebAuthn ライブラリが読み込まれているか
- プラグインのデータベーステーブルが存在するか
- RP ID とセキュリティプラグインの共存に問題がないか
「情報」タブにも診断内容のパネルが追加され、サポートへの問い合わせ時にエクスポートできます。
よくある質問
パスキーを失ったら
Q: パスキーを失ってサインインできなくなったら?
パスワードログインはパスキーと並行して使えるため、いつもどおりパスワードでサインインし、プロフィール画面からパスキーを削除・再登録してください。サーバー側からは WP-CLI(wp rapls-passkey list / remove)でも管理できます。それでも入れない緊急時は、wp-config.php に define( 'RAPLS_PASSKEY_BYPASS', true ); を追加してください(復旧後は削除してください)。
HTTPS は必須か
Q: HTTP のサイトでも使えますか?
いいえ。WebAuthn はブラウザーの仕様上 HTTPS でのみ動作します。HTTP のサイトではパスキーの登録・サインインができません。例外は開発用の localhost のみです。
パスワードは使えるか
Q: パスキーを入れるとパスワードは使えなくなりますか?
いいえ。Free 版ではパスワードログインはそのまま残ります。パスキーは追加の選択肢であり、ユーザーは自分のペースで移行できます。パスワードログインの無効化や役割ごとの必須化は Rapls Passkey Pro の機能です。
2FA との併用
Q: 二段階認証プラグインと一緒に使えますか?
はい。Wordfence Login Security や Two-Factor などと共存します。パスキーサインインは強力な多要素認証として扱われ、追加のチャレンジを受けません。一方、パスワードなどの弱いログイン手段には、サイト側の 2FA が引き続き適用されます。
複数デバイス・上限
Q: 1 人で複数のパスキーを登録できますか?
はい。スマートフォン・パソコン・セキュリティキーなど、複数のパスキーを登録できます。1 つの端末が使えなくなっても、別のパスキーでサインインできます。1 ユーザーあたりの登録上限は設定画面で調整できます。
セキュリティキー対応
Q: YubiKey などのセキュリティキーは使えますか?
はい。Touch ID・Windows Hello・Face ID といった端末内蔵の認証機能に加え、YubiKey などの外付けセキュリティキー(ローミング認証器)にも対応しています。パスキー一覧には、認証器の提供元(iCloud Keychain・Google Password Manager・Windows Hello・1Password・YubiKey など)が表示されます。
マルチサイト
Q: マルチサイトに対応していますか?
はい。rapls_passkey_rp_id / rapls_passkey_rp_name フィルターで共有の RP ID を指定できます。ネットワーク全体のポリシーや共有 RP ID のより高度な管理は Rapls Passkey Pro の機能です。
Pro へのアップグレード
Free 版だけでもパスキー運用は完結しますが、Rapls Passkey Pro を導入すると、組織的な導入や、より厳格なポリシー運用ができるようになります。Pro は Free 版の Rapls Passkey(0.12.0 以上)を有効にしたうえで動作します。
追加される機能 PRO
- クロスデバイス QR ログイン: パソコンに QR と 4 桁の確認コードを表示。スマートフォンで読み取り、パスキーで承認します。確認コードが中継フィッシングを防ぎ、離れた場所からでも使えます。
- 役割ベースのパスキー必須化: 選んだ役割にパスキーを必須にし、猶予期間を設けて段階的に展開できます。最後の管理者・
RAPLS_PASSKEY_BYPASS・リカバリーコードがロックアウトを防ぎます。 - 使い切りのリカバリーコード: パスキーが使えないときの非常用サインイン。
- メールのマジックリンクログイン/パスワードレスのサインアップ(パスキーだけで新規アカウント作成)。
- アダプティブなステップアップ: 危険なパスワードログイン(信頼できない端末+見知らぬ場所)のあとや、すべてのパスワードログインで、改めてパスキーを求めます。
- アプリケーションパスワードの抑止と「パスワードをお忘れですか?」の拒否(パスワードレス運用のユーザー向け)。
- 信頼済みデバイスの管理/ログイン後の登録案内(パスキー未登録のユーザーへ)。
- 認証器ポリシー: FIDO メタデータサービス(MDS)による認証チェック、AAGUID の許可/拒否リスト。
- セキュリティ Webhook(Slack / Teams / 汎用 JSON)/導入レポート(ダイジェスト・リマインダーメール、分析)。
- マルチサイトのネットワーク全体ポリシーと共有 RP ID、設定のエクスポート/インポート、拡張された WP-CLI。