IM
JA
ドキュメントホーム
メニュー
ガイド

プロバイダーの資格情報と接続性

IMAP/SMTP 認証情報を登録し、接続を検証し、認証情報のライフサイクルを維持します。

inbox-manager client-flow

プロバイダーの認証情報と接続性

目的: IMAP/SMTP 認証情報を登録し、接続を検証し、認証情報のライフサイクルを維持します。

UI フロー

  1. ユーザーは、IMAP および SMTP のホスト/ポート/セキュリティ モードとシークレットの値を入力します。
  2. UI は POST /api/accounts/:account_id/provider-credentials を使用して資格情報を作成します。
  3. UI は POST /api/provider-credentials/:provider_credential_id/test を使用して直ちに検証します。
  4. UI には認証情報と検証ステータスがリストされます。
  5. UI は、資格情報の衛生管理のための回転 (/rotate) と削除をサポートします。

クライアント ライブラリ フロー

const imapCredential = await api.credentials.create(accountId, {
  provider_kind: "imap",
  label: "Work IMAP",
  host: "mail.example.com",
  port: 993,
  security_mode: "ssl_tls",
  auth_kind: "password",
  secret: { username, password },
});
await api.credentials.test(imapCredential.data.id);

HTTP/カールフロー

API_BASE_URL="https://api.inbox-manager.com"

curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/provider-credentials" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{
    "provider_kind":"imap",
    "label":"Work IMAP",
    "host":"mail.example.com",
    "port":993,
    "security_mode":"ssl_tls",
    "auth_kind":"password",
    "secret":{"username":"user@example.com","password":"***"}
  }'

curl -sS -X POST "${API_BASE_URL}/api/provider-credentials/${PROVIDER_CREDENTIAL_ID}/test" \
  -H "authorization: Bearer ${BEARER_TOKEN}"

curl -sS -X POST "${API_BASE_URL}/api/provider-credentials/${PROVIDER_CREDENTIAL_ID}/rotate" \
  -H "authorization: Bearer ${BEARER_TOKEN}" \
  -H "content-type: application/json" \
  --data '{"secret":{"username":"user@example.com","password":"***"}}'

検証スクリプト

  • scripts/provider_credentials_flow.sh