Skip to content
smallPict

パスワードレス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は自動的に以下の処理を完了します:

  1. 初めての利用であればアカウントを自動開設。
  2. WordPress専用のAPIキー (sp_wp_...) とシークレットキーを発行。
  3. WordPressローカルデータベースの暗号化オプションテーブルにキーを自動保存し、連携を完了。

トラブルシューティング

認証メールが届かない場合

  1. 迷惑メールフォルダをご確認ください。
  2. 60秒待ってから、画面上の コードを再送信 (Resend OTP) をクリックしてください。
  3. サーバーのファイアウォールで https://api.smallpict.app へのHTTPSアウトバウンド通信が許可されているか確認してください。

「試行回数の上限に達しました」と表示された場合

コード入力を3回連続で間違えた場合、安全のためセッションが破棄されます。最初からメールアドレスを入力して再度コードを発行してください。