メインコンテンツへスキップ
このガイドでは、DiditのWeb認証フローをネイティブモバイルアプリのWebViewコンポーネントに埋め込む方法を説明します。これはネイティブのiOS/Android/React Native/Flutter SDKとは異なり、ネイティブSDKを利用できないプラットフォーム向けの代替手段です。

常にネイティブSDKを優先してください

ネイティブSDKはiOS、Android、React Native、Flutter向けに提供されています。パフォーマンス、カメラ制御、NFCによるパスポート・身分証の読み取り、生体認証との連携、ユーザー体験のいずれにおいても大幅に優れています。WebViewは、お使いのプラットフォーム向けのネイティブSDKがない場合にのみ使用してください。

iOS SDK

iOS 13+向けのネイティブSwift SDK

Android SDK

Android 6.0+向けのネイティブKotlin SDK

React Native SDK

クロスプラットフォーム対応のTypeScript API。Expoに対応しています。

Flutter SDK

クロスプラットフォーム対応のDart API。pub.devパッケージとして提供しています。

WebViewを使用するケース

WebView連携は、次の場合にのみ使用してください。
  • ネイティブSDKのないプラットフォーム(Xamarin、Cordova、その他のニッチなフレームワークなど)で開発している場合
  • ネイティブSDKを連携する前に、簡易的なプロトタイプや概念実証が必要な場合
  • Webから移行中で、ネイティブ連携までの一時的なつなぎとして使いたい場合

仕組み

1

セッションを作成する

バックエンドがセッション作成APIを呼び出し、ホスト型のurlを受け取ります。
2

WebViewで開く

アプリがWebViewコンポーネントでurlを読み込みます。
3

ユーザーが認証を完了する

ユーザーはWebView内で認証フローを進めます。
4

コールバックをインターセプトする

完了すると、WebViewはコールバックURLに遷移します。アプリはこの遷移をインターセプトし、結果を取得します。
5

Webhookで完全な結果を取得する

バックエンドはWebhook経由で完全な判定データを受け取ります。

セッションの作成

認証フローを開く前に、バックエンドからセッションを作成します。
レスポンス(201。urlにはsession_idではなく、12文字のsession_tokenが埋め込まれています):
WebViewではurlフィールドを読み込んでください。session_tokenから手動でURLを組み立てることは絶対にしないでください。

React Native

WebViewパッケージをインストールします。

実装

React Nativeデモ

Expo + WebViewによる認証のサンプル

Flutter

必要なパッケージをpubspec.yamlに追加します。

実装

Flutterデモ

Flutter WebViewによる認証のサンプル

重要な設定

ユーザーエージェント(必須)

WebViewを正しく動作させるには、汎用的なモバイル向けユーザーエージェントを設定する必要があります。
これにより、カメラへの適切なアクセス、UIの正しい表示、最適なメディア再生が確保されます。

メディア設定(必須)


コールバックの処理

認証後、WebViewはクエリパラメーター付きでコールバックURLにリダイレクトします。
より良いユーザー体験のために、コールバックにはカスタムURLスキーム(例: myapp://verification-complete)を使用し、アプリ内でディープリンクとして処理してください。

トラブルシューティング

  1. mediaPlaybackRequiresUserGestureがfalseになっていることを確認します
  2. OSレベルでカメラの権限が許可されていることを確認します
  3. ユーザーエージェント文字列が正しく設定されていることを確認します
  1. セッションURLが有効で、期限切れでないことを確認します
  2. インターネット接続を確認します
  3. WebViewの設定でJavaScriptが有効になっていることを確認します
  1. コールバックURLが、セッション作成時に設定したものと一致していることを確認します
  2. ナビゲーションデリゲートまたはリスナーが正しく設定されていることを確認します
  3. セッション作成時にcallback_methodを"both"に設定してみてください

最終更新日 2026年11月1日