HumanaryHumanary
人間を探すOrbを探すMiniAppを探すWorldガイドWorld Quiz
読み込み中...
ホーム/ガイド/開発者向けガイド
開発者向け更新日: 2025年1月

開発者向けWorld ID入門:実装ガイド

World IDをあなたのアプリケーションに実装する方法を解説します。SDKの使い方から実装パターンまで、開発者向けに詳しく説明します。

この記事のポイント

  • ✓World ID Developer Portalでアプリを登録し、app_idとaction_nameを取得するのが最初のステップ
  • ✓Cloud認証(サーバーサイド検証)とOn-chain認証(スマートコントラクト検証)の2つの検証方式から選択
  • ✓nullifier_hashはアクションごとに異なるため、サービス間でユーザーの追跡は不可能
  • ✓Incognito Actions(匿名アクション)を使えば、同じユーザーの複数回アクションを許可しつつ一意性を保証

目次

  1. 1. World ID実装の概要
  2. 2. 実装ユースケース
  3. 3. はじめ方
  4. 4. SDKの種類
  5. 5. 実装の流れ
  6. 6. ベストプラクティス
  7. 7. リソース・ドキュメント

1. World ID実装の概要

World IDをアプリに統合することで、「人間であること」と「一人一アカウント」を暗号学的に保証できます。これにより、ボット対策、不正防止、公平な配布などが可能になります。

World IDでできること

認証

  • • Sign in with World ID
  • • 人間であることの確認
  • • 一意性の検証

活用例

  • • エアドロップの重複防止
  • • 投票システム
  • • プレミアム機能のゲート

認証レベル

🔴

Orb

虹彩認証済み。最高レベルの人間証明。一人一回限り。

📱

Device

デバイス認証。Orb未認証でも利用可能。複数デバイス可。

2. 実装ユースケース

🎁

エアドロップ

トークンやNFTを一人一回に限定して配布。Sybil攻撃を防止。

🗳️

投票・アンケート

一人一票を保証した公平な投票システム。DAOガバナンスに最適。

🤖

ボット対策

CAPTCHAの代替として。より強力な人間証明を提供。

🔐

認証ゲート

特定機能へのアクセスを認証済みユーザーに限定。

3. はじめ方

1

Developer Portalに登録

Worldcoin Developer Portalでアカウントを作成し、アプリを登録します。

https://developer.worldcoin.org
2

App IDを取得

アプリを登録すると、一意のApp IDが発行されます。これをSDKの初期化に使用します。

app_id: "app_staging_xxx..."
3

Actionを定義

認証の目的(Action)を定義します。同じActionでの重複認証を防ぐことができます。

action: "vote-proposal-1"

4. SDKの種類

⚛️

IDKit (JavaScript/React)

Webアプリケーション向けの公式SDK。React、Next.js、Vue.jsなどで利用可能。

npm install @worldcoin/idkit
📱

Mobile SDKs

iOS、Android向けのネイティブSDK。モバイルアプリに直接組み込み可能。

SwiftKotlin
🔗

Smart Contract (Solidity)

オンチェーンで検証を行う場合のライブラリ。Ethereum、Optimism、Polygonなどで利用可能。

// world-id-starter テンプレートを使用
import {IWorldID} from "./interfaces/IWorldID.sol";

5. 実装の流れ

基本的な認証フロー

1

ユーザーが「Sign in with World ID」ボタンをクリック

2

IDKit がQRコードまたはディープリンクを表示

3

ユーザーがWorld Appで認証を承認

4

ZKP(ゼロ知識証明)がアプリに返される

5

バックエンドまたはスマートコントラクトで検証

コード例(React)

import { IDKitWidget } from '@worldcoin/idkit'

function App() {
  const handleVerify = async (proof) => {
    // バックエンドに証明を送信して検証
    const res = await fetch('/api/verify', {
      method: 'POST',
      body: JSON.stringify(proof),
    })
    // 検証結果に応じた処理
  }

  return (
    <IDKitWidget
      app_id="app_xxx"
      action="my-action"
      onSuccess={handleVerify}
      verification_level="orb" // or "device"
    >
      {({ open }) => (
        <button onClick={open}>
          Verify with World ID
        </button>
      )}
    </IDKitWidget>
  )
}

6. ベストプラクティス

✅ 推奨事項

  • • 必ずバックエンドで検証 - フロントエンドのみの検証は安全ではありません
  • • Actionを適切に設計 - 用途ごとに異なるActionを使用
  • • verification_levelを選択 - セキュリティ要件に応じてorb/deviceを選択
  • • エラーハンドリング - 認証失敗時のUXを考慮
  • • Staging環境でテスト - 本番前に十分なテストを

❌ アンチパターン

  • • フロントエンドのみで検証を完結させる
  • • 同じActionを異なる目的で再利用する
  • • proof(証明)を保存・再利用する
  • • エラーメッセージで詳細な内部情報を露出する

7. リソース・ドキュメント

公式リソース

📚

公式ドキュメント

docs.world.org

💻

Developer Portal

developer.worldcoin.org

🐙

GitHub

github.com/worldcoin

💬

Discord (開発者コミュニティ)

discord.gg/worldcoin

まとめ

World IDの実装は、SDKを使えば比較的簡単に始められます。

  • 1️⃣ Developer Portalでアプリを登録
  • 2️⃣ SDKをインストール(IDKit等)
  • 3️⃣ フロントエンドにウィジェットを配置
  • 4️⃣ バックエンドで証明を検証

詳しい実装方法は公式ドキュメントをご確認ください。

招待特典

5,000円相当を追加でGET

以下の招待コードを使うと、約5,000円相当のWLDが追加で付与されます。

World Appを入手
既にアプリをお持ちの方 → 招待コード:6YQ47NH
招待コードの使い方・注意点はこちら

関連記事

セキュリティ技術

ゼロ知識証明の仕組みを理解する

対応サービス一覧

実装済みサービスの例を見る

用語集

World ID関連用語を確認

将来展望

今後の技術的な進化

ガイド一覧に戻る
共有:

Humanary

WorldのOrb認証を完了した人だけが登録できるプロフィールサービス

リソース

  • よくある質問
  • Orbマップ
  • ユーザー一覧

法的情報

  • 利用規約
  • プライバシーポリシー
  • 運営者情報

© 2025 BBBandCompany Inc. · Unofficial · World ID™ is a trademark of TFH