パスワードレスOTP認証
ワンタイムパスワード(OTP)による安全なWordPressサイトのワンクリック連携メカニズム。
SmallPictは、従来のユーザー名とパスワードによる認証を廃止し、 ワンタイムパスワード (OTP) 認証機構を採用しています。
パスワードの使い回しやリスト型攻撃(Credential Stuffing)を根本から防止し、WordPressサイトを数秒で安全にクラウドと連携できます。
暗号学的セキュリティ仕様
OTP検証フローは、厳格なハッシュ化と有効期限管理に基づいて設計されています:
| 保護メカニズム | 適用ルール |
|---|---|
| コード生成 | 暗号学的に安全な疑似乱数生成器 による6桁の数字 |
| 保存時の保護 | データベースに保存する前に SHA-256 で不可逆ハッシュ化(平文保存なし) |
| 有効期限 (TTL) | 発行から厳密に 5分間 (300秒) 有効 |
| 再送インターバル | 再送信リクエスト間に最低 60秒間 のクールダウンを強制 |
| 試行回数制限 | 最大 3回の失敗 で該当セッションを恒久的に無効化 |
| IPアドレス追跡 | ブルートフォース攻撃防止のためリクエスト元IPアドレスをハッシュ化して記録 |
認証の全体フロー
1. OTPリクエストの送信
サイト管理者がWordPress設定画面でメールアドレスを入力して送信すると、プラグインが公開認証エンドポイントを呼び出します:
POST https://api.smallpict.app/v1/plugin/auth/request-otp
JSON
{ "email": "admin@example.com", "site_url": "https://example.com", "consent": true}SmallPictバックエンドはOTPを生成・ハッシュ化して保存し、高到達率のメールサービスを通じて認証コードを送信します。
2. コードの検証
管理者がメールで受信した6桁のコードを入力します:
POST https://api.smallpict.app/v1/plugin/auth/verify-otp
JSON
{ "email": "admin@example.com", "otp": "839201", "site_url": "https://example.com"}認証が成功すると、SmallPictは自動的に以下の処理を完了します:
- 初めての利用であればアカウントを自動開設。
- WordPress専用のAPIキー (
sp_wp_...) とシークレットキーを発行。 - WordPressローカルデータベースの暗号化オプションテーブルにキーを自動保存し、連携を完了。
トラブルシューティング
認証メールが届かない場合
- 迷惑メールフォルダをご確認ください。
- 60秒待ってから、画面上の コードを再送信 (Resend OTP) をクリックしてください。
- サーバーのファイアウォールで
https://api.smallpict.appへのHTTPSアウトバウンド通信が許可されているか確認してください。
「試行回数の上限に達しました」と表示された場合
コード入力を3回連続で間違えた場合、安全のためセッションが破棄されます。最初からメールアドレスを入力して再度コードを発行してください。