メインコンテンツにジャンプ

Capacitorアプリケーションでのバイオメトリック認証

Capacitorアプリケーションで安全なバイオメトリック認証を実装する方法を学びましょう。ユーザー体験を向上させ、敏感なデータを保護することができます。

Capacitor

指紋認証 ユーザーは、指紋、顔、または他の生物学的特性を使用してアプリを安全にアクセスできるようにします。 __CAPGO_KEEP_0__ 開発者は、 Capacitorこの機能を実装するのは簡単で、iOSとAndroid両方で動作します。ここでは簡単な概要があります。

  • 指紋認証の利点は何ですか?

    • パスワードよりも安全です。
    • ログインが速くなり、ユーザー体験が向上します。
    • 機密データのセキュリティ基準を満たします。
  • サポートされている方法:

    • 指紋認証: 速いと便利な方法。
    • 顔認証: 手の自由なオプション。
    • Iris Scanning: 高セキュリティ用途 (制限されたデバイス).
    • 声紋認識: アクセシビリティに焦点を当てた (制限されたサポート).
  • 必要なツール:

    • Capacitor 3.0+.
  • セットアップのハイライト:

    • AndroidManifest と Info.plist に権限を追加する。
    • Keychain (iOS) または Keystore (Android) を使用して安全なストレージを実装する。
    • 互換性とフォールバックオプションのテストを徹底的に行う。

プラグインの比較

プラグイン名 Capacitor バージョン 機能 最高の選択肢
@aparajita/capacitor-biometric-auth Capacitor 8 ネイティブバイオメトリック、デバイスクレデンシャル 新しいプロジェクトでCapacitor 8を使用
capacitor-native-biometric Capacitor 3、4 セキュアなクレデンシャルストレージ、Keychain/Keystore クレデンシャル管理
すべてのバージョン バイオメトリックとデバイスクレデンシャルサポート 柔軟な認証オプション

Capacitor アプリケーションでのバイオメトリック認証 バイオメトリック認証は、敏感なデータを保護するための安全でユーザーフレンドリーな方法です。全文記事では、セットアップ手順、code の例、テスト戦略、セキュリティ基準について詳しく説明しています。

イオニクス・バイオメトリクス (FaceID / FingerPrint) 認証

セットアップ要件

__CAPGO_KEEP_0__ アプリでバイオメトリクス認証を有効にするには Capacitorツールと依存関係の準備

実装に進む前に、以下のツールと依存関係が用意されていることを確認してください

コンポーネント

最小バージョン 目的 Purpose
Capacitor __CAPGO_KEEP_0__ Capacitorフレームワーク
Node.js 最新のLTS パッケージ管理
Xcode 最新バージョン iOS開発
Android Studio 最新バージョン Android開発
物理デバイス iOS 13+ / Android API 23+ テストバイオメトリック機能

選択する バイオメトリックプラグイン Capacitorのバージョンに基づいて

  • @aparajita/ capacitor -biometric-auth Capacitor 8
  • capacitor-native-biometric Capacitor 3 と 4

Androidの設定手順

Androidでバイオメトリック認証を設定するには、プロジェクトファイルにいくつかの変更が必要です。

  1. マニフェストの設定

    以下の権限をプロジェクトの AndroidManifest.xml ファイル:

    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
    <!-- For Android 9 (API 28) or lower -->
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
  2. Gradleの設定

    アプリの更新 build.gradle ファイルに必要なバイオメトリックの依存関係を含めるようにします:

    dependencies {
        implementation "androidx.biometric:biometric:1.1.0"
    }

iOSの設定手順

iOSの場合、バイオメトリックの認証を設定するには、次の手順に従う必要があります:

  1. Info.plistの設定

    Info.plistに必要な使用目的の説明を追加する必要があります: Info.plist ファイル:

    <key>NSFaceIDUsageDescription</key>
    <string>Authentication required for secure access</string>
  2. キーチェーンの設定

    Xcodeでキーチェーンの機能を有効にする必要があります:

    • プロジェクトの設定を開きます。
    • に移動してください サインイン &amp; 機能 タブに移動してください。
    • Add the Keychain Sharing機能を追加してください。 capability.
    • 認証ポリシー
  3. ローカル認証ポリシーを設定して、次のシナリオを処理するようにしてください。

    認証失敗の試行

    • デバイスのパスコードにフォールバックする
    • 生物認証の可用性チェック
    • 生物認証の可用性チェック

    セキュリティの向上のために、iOS Keychainを使用して敏感なデータを保存してください。この設定により、両方のTouch IDとFace IDの互換性を確保し、ユーザーのクレデンシャルを保護します。

Code実装

設定構成が整ったら、次のステップは、安全なcodeの実装です。これには、適切なプラグインの選択と、信頼性の高い認証フローを作成することが含まれます。

プラグインの選択ガイド

アプリのCapacitorに適したバイオメトリック認証プラグインを選択する際は、プロジェクトのニーズに合ったものを選ぶことが重要です。以下は人気のある選択肢です。

プラグイン名 Capacitorバージョン 機能要素 ベスト・フォー
capacitor-バイオメトリック認証 Capacitor 8 Native biometry, device credentials, comprehensive API Capacitor 8
capacitor-native-biometric Capacitor 3, 4 Keychain/Keystoreのセキュアなクレデンシャルストレージ 既存のプロジェクトがクレデンシャル管理を必要とするもの
すべてのバージョン デバイスクレデンシャルとバイオメトリック認証、APIのクリーンな実装 プロジェクトが柔軟な認証オプションを必要とするもの

認証のCodeの例

ここでは、__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-native-biometricプラグインを使用したバイオメトリック認証の方法を紹介します。 @capgo/capacitor-native-biometric biometric

import { Biometrics } from '@capgo/capacitor-native-biometric';

async function setupBiometricAuth() {
  try {
    const { isAvailable } = await Biometrics.isBiometricsAvailable();

    if (!isAvailable) {
      return {
        success: false,
        message: "Biometric authentication not available"
      };
    }

    const result = await Biometrics.authenticate({
      reason: "Access your secure data",
      title: "Verify Identity",
      subtitle: "Use biometrics to authenticate",
      cancelTitle: "Use Password Instead"
    });

    return {
      success: true,
      data: result
    };
  } catch (error) {
    return {
      success: false,
      error: error.message
    };
  }
}

Capgoでセキュアな資格情報を管理するには、 capacitor-ネイティブバイオメトリックプラグイン __CAPGO_KEEP_0__が設置されたら、機能の検証を適切なテストで行うことが重要です。

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

async function secureCredentialStorage(credentials) {
  try {
    await NativeBiometric.setCredentials({
      username: credentials.username,
      password: credentials.password,
      server: "api.yourserver.com"
    });

    // Verify storage by retrieving the credentials
    const stored = await NativeBiometric.getCredentials({
      server: "api.yourserver.com"
    });

    return stored.username === credentials.username;
  } catch (error) {
    console.error("Credential storage failed:", error);
    return false;
  }
}

Capacitorアプリでバイオメトリック認証を実装する際、codeが機能することを確認するために適切なテストを実施することは非常に重要です。

バイオメトリック認証の信頼性とセキュリティを確保するには、以下のテスト戦略を検討してください。

デバイス互換性テスト

  • 認証がさまざまなデバイスと条件で正常に動作することを確認してください。

    エラーハンドリングと一般的なシナリオ

    async function runCompatibilityTests() {
      const tests = {
        biometricAvailable: await Biometrics.isBiometricsAvailable(),
        credentialStorage: await testCredentialStorage(),
        authenticationFlow: await testAuthFlow(),
        fallbackMechanism: await testFallbackAuth()
      };
    
      return tests;
    }
  • エラーをシミュレートし、フォールバックメカニズムをテストしてください。

    セキュリティ検証

    async function validateErrorHandling() {
      try {
        await Promise.race([
          Biometrics.authenticate(),
          new Promise((_, reject) =>
            setTimeout(() => reject(new Error("Timeout")), 30000)
          )
        ]);
      } catch (error) {
        return implementFallbackAuth();
      }
    }
  • 実装がセキュリティ基準を満たしていることを確認してください。

    セキュリティ基準を満たすように実装を確認する

    async function validateSecurityMeasures() {
      const validations = {
        keychain: await validateKeychainAccess(),
        biometricStrength: await checkBiometricStrength(),
        encryptionStatus: await verifyEncryption()
      };
    
      return validations.keychain &&
             validations.biometricStrength &&
             validations.encryptionStatus;
    }

さらに、以下のようなシナリオをテストする必要があります:

  • 複数回の認証失敗
  • デバイスの再起動後の動作
  • 前景と背景のアプリの状態の移行
  • ネットワーク接続の変更
  • システムのバイオメトリック設定の更新

バイオメトリック認証システムの徹底的なテストにより、実用的な環境で機能するように強固で頑丈なシステムが確保されます。

セキュリティ基準

バイオメトリック認証における強固なセキュリティを確保するには、データ保護を優先し、規制遵守を徹底し、層化されたセキュリティ技術を適用する必要があります。

データセキュリティ方法

iOSでは、バイオメトリックデータはKeychainを使用して暗号化され、保存されます。 Keychain、Androidは キーストアを使用している場合、 capacitor-native-biometric プラグインを使用している場合、ユーザー情報を安全に保存することができます。

import { NativeBiometric } from '@capgo/capacitor-native-biometric';

async function securelyStoreCredentials(username, password) {
  const server = "api.yourapp.com";

  // Use the highest available encryption
  await NativeBiometric.setCredentials({
    username,
    password,
    server,
    authenticationType: "biometricAndDevice",
    accessControl: "biometryAny"
  });
}

データの送信では、常にエンドツーエンドの暗号化を実装してください。 機密情報を保護するために。 保存ガイドライン

アプリストアでは厳格な規則を適用して

バイオメトリックセキュリティ を実装する必要があります。プラットフォーム

Platform キーレQUIREMENT 実装ノート
iOS LocalAuthenticationフレームワークを使用し、フォールバックオプションを提供し、ユーザーの明確な同意を確保する Face IDおよびTouch IDの両方をサポートする
Android バイオメトリック認証を利用し、BiometricPrompt API を使用して、ユーザーから明示的な許可を取得し、セキュリティレベルを宣言する 指紋認証と顔認証をサポートし、異なるセキュリティレベルの区別

マルチファクター設定

セキュリティを強化するには、追加の認証層を組み合わせることがよくあります。例えば、初期 認証にbiometric verificationを組み合わせることがよくあります。例えば、初期 認証にbiometric verificationを組み合わせることがよくあります。例えば、初期 生体認証,ユーザーのアイデンティティを確認するための二次ステップを追加できます。

async function setupMultiFactorAuth() {
  // First factor: Biometric verification
  const biometricResult = await Biometrics.authenticate({
    reason: "Verify your identity",
    title: "Authentication Required"
  });

  if (biometricResult.verified) {
    // Second factor: Time-based OTP or similar mechanism
    const totpResult = await verifyTOTP();
    return totpResult.success;
  }

  return false;
}

多要素アプローチは通常、以下の要素を含みます。

  • 主な生体認証
  • 二次的な確認 (例:SMS codeまたは認証アプリ)
  • トランザクション固有の確認 セキュリティのために

もし、ライブアップデートツールとして Capgo を使用している場合、セキュリティ基準への準拠を確保するには、その機能を利用してください。 エンドツーヘンド暗号化 機能を利用してください。この機能により、更新中の生体認証方法がセキュアに保たれ、プラットフォームの要件に準拠します。 [1].

メンテナンスガイド

Capgoのアプリでバイオメトリック認証を実装する際に、速度、バッテリー効率、タイムリーな更新をバランスさせることで、バイオメトリックシステムを正常に動作させることができます。

速度とバッテリーのヒント

以下は、効率的なバイオメトリック認証を実装するためのcode Snippetです。

// Efficient authentication implementation
async function optimizedBiometricCheck() {
  const authResult = await NativeBiometric.isAvailable();

  if (!authResult.isAvailable) {
    return handleFallback();
  }

  // Cache authentication state to avoid unnecessary re-checks
  if (this.cachedAuthState && !this.isAuthExpired()) {
    return this.cachedAuthState;
  }

  return NativeBiometric.verifyIdentity({
    reason: "Verify your identity",
    title: "Authentication Required",
    maxAttempts: 3
  });
}

バイオメトリックシステムのパフォーマンスを最大限に引き出すには:

  • Batch認証: 1つのセッションで複数の認証要求をグループ化することで、割り込まれることなく認証を実行することができます。
  • Smartキャッシング: セキュアに認証状態を保存し、有効期限を設定して、不要な認証を回避することができます。
  • バックグラウンド最適化: 認証中は非エッセンスタスクを一時停止することで、速度を向上させてバッテリーを節約することができます。
  • イベント駆動アプローチ: 常にポーリングを実行するのではなく、認証状態を監視するためにイベントリスナーを使用することで、効率的に認証を実行することができます。

アップデート Capgo

Capgo Live Update ダッシュボード インターフェイス

Capgo __CAPGO_KEEP_1__ ダッシュボード インターフェイス

Capgo はアプリのアップデートを簡素化します。

  • __CAPGO_KEEP_0__ は、アプリのアップデートを管理するのに役立つ素晴らしいツールです。即時展開
  • : 承認されたセキュリティ修正と新機能を即時展開できます。: 承認されたセキュリティ修正と新機能を即時展開できます。
  • : アプリのアップデートをテストするために、特定のユーザーグループにアップデートを展開できます。: アプリのアップデートを管理するために、異なる認証バージョンを追跡できます。
  • : 不正なアップデートを即時復元できます。__CAPGO_KEEP_0__を元に戻すことができます。

APIアップデート

APIの更新は、セキュリティと機能性のために重要です。更新を追跡するために、以下のガイドラインを参考にしてください。

アップデートの種類 監視方法 実装計画
セキュリティパッチ プラグインリポジトリのアラート 24時間
機能アップデート プラットフォームドキュメント 1週間
変更点 リリースノート 2-4 週間
ストアポリシーアップデート 開発者ポータル 提出前に

これらの領域に焦点を当ててください:

  • プラットフォーム変更: iOS の LocalAuthentication と Android の BiometricPrompt API の更新を追跡すること。
  • セキュリティ基準: 最新のバイオメトリックセキュリティ要件に合わせてください。
  • ストアガイドラインApple App Store と Google Play のポリシーに準拠することで、提出の問題を回避することができます。

結論

主なポイント

Adding biometric authentication to your Capacitor app involves balancing security, performance, and user experience. Here’s a quick breakdown of the core elements to keep in mind:

コンポーネント 実装の焦点 重要な考慮事項
セキュリティ基準 プラットフォームネイティブのストレージ (Keychain/Keystore) エンドツーエンドの暗号化、クレデンシャル保護
プラグインの選択 最新バージョンの互換性 複数のバイオメトリックタイプに対するサポート
アップデート管理 定期的なメンテナンスサイクル セキュリティパッチの迅速な展開
ユーザー体験 フォールバック認証オプション 明確でユーザーフレンドリーな認証プロンプト

これらのコンポーネントは、成功的な統合への道筋を示しています。

バイオメトリック認証の実装手順

以下の手順に従って、バイオメトリック認証をアプリに統合してください。

  • プラグイン統合
    まず、Capacitor バージョンに合致するバイオメトリック プラグインを選択します。設定ファイル - 例えば AndroidManifest.xml と Info.plist セキュアな資格情報の保存のために、KeychainやKeystoreなどのネイティブソリューションに頼るように設定してください。

  • セキュリティ設定
    ユーザーデータを保護するには、すべての資格情報の送信にエンドツーエンド暗号化を有効にします。必要な場合には、 多要素認証 を追加することで、セキュリティの追加層を提供します。失敗の場合の機能を維持するために、堅牢なエラーハンドリングとフォールバックオプションを計画してください。

  • 継続的なメンテナンス
    アプリをセキュアに保つには、セキュリティパッチのための定期的な更新パイプラインを設定してください。プラグインの更新とセキュリティアドバイザリーの監視に取り組みます。ツールとしてCapgoを使用すると、このプロセスを簡素化できます。Capgoは、24時間以内に95%のユーザーが更新することを誇りに思っています。これは、開発者にとって貴重なツールとなります。 [2].

「Capgoは、開発者がより生産的になることを望む開発者にとって、必須のツールです。バグ修正のレビューを避けることは、金の価値です。」 - Bessie Cooper [2]

FAQ

::: faq

biometricプラグインのCapacitorの違いは何ですか。どのプラグインが私のアプリに最適なものかを選択するには?

アプリの Capacitor に適したバイオメトリック プラグインを選択する際は、プロジェクトの特定の要件に合致するものを選択することが重要です。考慮すべき要素としては、 プラットフォームの互換性 (iOS、Android、両方に対応する必要がある場合など) 統合プロセスの簡素性 or 指紋認証.

などの高度なバイオメトリックメソッドをサポートするかどうか Capacitor appsCapgo Capgo ::: faq

::: faq

Capacitorのアプリでバイオメトリック認証がセキュリティ基準とアプリストアのガイドラインを満たしていることを確認する方法はありますか?

Capacitorのアプリで現在のセキュリティ基準とアプリストアの規則を満たしていることを確認するには、次の重要な実践に従ってください:

  • 信頼できるプラグインを選択する: Capacitorが提供する信頼できるバイオメトリック認証プラグインを使用して、デバイス間で平滑に動作するセキュアなアプリを確保する @capacitor/biometrics プラットフォームの規則に従う
  • : AppleとAndroidのガイドラインに従い、ユーザーの同意を取得し、安全なストレージを使用し、PINまたはパスワードなどのバックアップオプションを提供する依存関係を最新に保つ
  • : アプリとライブラリを定期的に更新して、脆弱性を修正し、標準が変化するにつれて同期するアプリとライブラリを定期的に更新して、脆弱性を修正し、標準が変化するにつれて最新の状態に保つ。

live update Capgo __CAPGO_KEEP_0__

::: faq

What challenges might developers face when integrating biometric authentication into Capacitor apps, and how can they overcome them?

Implementing biometric authentication in Capacitor apps comes with its fair share of challenges. These can include ensuring compatibility across devices, managing user permissions effectively, and securely handling sensitive data. Here’s how you can tackle these issues:

  • デバイス互換性: AndroidおよびiOS両方でバイオメトリック機能をサポートするには、 @capacitor-fingerprint-authを使用することを検討してください。これらのツールは、さまざまなデバイス間でアプリが平滑に動作するように、プラットフォーム間のギャップを埋めます。

  • ユーザーの権限: アプリがバイオメトリックアクセスを必要とする理由を明確に説明し、ユーザーに透明性のある情報を提供し、アプリを設計して、ユーザーが権限を付与しない場合に、柔軟に状況を処理できるようにすることが重要です。

  • データの安全性: 認証データの保護は重要です。各プラットフォームから提供されるセキュリティガイドラインに従い、 暗号化のベストプラクティス を実施し、機密情報が安全に保たれるようにしてください。

To make updates or fix issues related to biometric features without the hassle of app store approvals, you can use tools like Capgo. This allows for real-time updates, enabling you to address bugs or improve functionality quickly while staying compliant with Apple and Android policies. :::

Keep going from Biometric Authentication in Capacitor Apps

CapacitorアプリでBiometric Authenticationを使用している場合 Biometric Authentication in Capacitor Apps セキュリティとコンプライアンスを計画するためにBiometric Authenticationを接続するには 暗号化 暗号化の実装詳細 コンプライアンス コンプライアンスの実装詳細 Capgo セキュリティ スキャナー Capacitor アプリの製品ワークフローにおける Capgo セキュリティ スキャナーです。 Capgo 安全性 Capgo セキュリティの製品ワークフローについて Capgo トラスト センター Capgo トラスト センターの製品ワークフローについて

Live updates for Capacitor apps

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

マーティンによる人間サポート

今すぐ始めよう

最新のブログ記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。