Flutter身份验证插件onfido_sdk的使用

发布于 1周前 作者 h691938207 来自 Flutter

Flutter身份验证插件onfido_sdk的使用

Onfido SDK 提供了用户身份验证的功能,支持多种语言和平台,并且可以高度定制化。以下是如何在Flutter项目中集成和使用Onfido SDK的详细步骤。

添加依赖

首先,确保你的Flutter项目满足以下要求:

  • Dart 3.1.0或更高版本
  • Flutter 1.20或更高版本
  • iOS 13+
  • Android API level 21+

然后,在项目的根目录下运行以下命令来添加onfido_sdk包:

flutter pub add onfido_sdk

配置iOS

修改ios/Podfile文件以支持iOS 13:

platform :ios, '13.0'

确保在ios/Runner/Info.plist文件中添加以下权限:

<key>NSCameraUsageDescription</key>
<string>Required for document and facial capture</string>
<key>NSMicrophoneUsageDescription</key>
<string>Required for video capture</string>

初始化SDK

获取SDK Token

在初始化SDK之前,你需要通过Onfido API获取一个有效的SDK Token。你可以参考官方文档来了解如何生成SDK Token。

构建配置对象

下面是一个简单的示例,展示了如何构建并初始化Onfido SDK客户端:

import 'package:onfido_sdk/onfido_sdk.dart';

final Onfido onfido = Onfido(
  sdkToken: "<YOUR_SDK_TOKEN>",
  iosLocalizationFileName: "onfido_ios_localisation", // 可选
  onfidoTheme: OnfidoTheme.AUTOMATIC, // 可选
  nfcOption: NFCOptions.Disabled // 可选
);

启动流程

接下来,你可以通过调用startWorkflow方法启动身份验证流程,并传入一个workflowRunId

await onfido.startWorkflow('workflowRunId');
// 监听响应

如果你不使用Onfido Studio,而是手动定义验证步骤,可以使用start方法:

try {
  final response = await onfido.start(
    flowSteps: FlowSteps(
      welcome: true,
      documentCapture: DocumentCapture(),
      faceCapture: FaceCapture.photo(withIntroScreen: true),
    ),
  );
  // 处理成功响应
} catch (error) {
  // 处理错误
}

完整的示例代码

下面是一个完整的示例,展示了如何在Flutter应用中集成Onfido SDK:

import 'package:flutter/material.dart';
import 'package:onfido_sdk/onfido_sdk.dart';

void main() async {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Onfido Example',
      home: OnfidoPage(),
    );
  }
}

class OnfidoPage extends StatefulWidget {
  [@override](/user/override)
  _OnfidoPageState createState() => _OnfidoPageState();
}

class _OnfidoPageState extends State<OnfidoPage> {
  final Onfido _onfido = Onfido(
    sdkToken: "<YOUR_SDK_TOKEN>",
    onfidoTheme: OnfidoTheme.AUTOMATIC,
  );

  Future<void> _startOnfido() async {
    try {
      final response = await _onfido.startWorkflow('workflowRunId');
      print("Success: $response");
    } catch (e) {
      print("Error: $e");
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Onfido Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: _startOnfido,
          child: Text('Start Onfido Verification'),
        ),
      ),
    );
  }
}

更多关于Flutter身份验证插件onfido_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter身份验证插件onfido_sdk的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是一个关于如何在Flutter项目中使用onfido_sdk插件进行身份验证的代码示例。这个示例将展示如何初始化Onfido SDK,启动身份验证流程,并处理身份验证结果。

首先,确保你的Flutter项目中已经添加了onfido_sdk依赖。在你的pubspec.yaml文件中添加以下依赖:

dependencies:
  flutter:
    sdk: flutter
  onfido_sdk: ^最新版本号  # 请替换为实际的最新版本号

然后,运行flutter pub get来安装依赖。

接下来,在你的Flutter项目中,你需要进行以下步骤:

  1. 初始化Onfido SDK

在你的main.dart或相应的初始化文件中,初始化Onfido SDK。你需要提供你的Onfido API Token和SDK配置。

import 'package:flutter/material.dart';
import 'package:onfido_sdk/onfido_sdk.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // 初始化Onfido SDK
    Onfido.initialize(
      apiKey: 'YOUR_ONFIDO_API_TOKEN',  // 替换为你的Onfido API Token
      configuration: OnfidoConfiguration(
        documentStep: true,
        faceStep: true,
        welcomeMessage: 'Welcome to Onfido Verification!',
        documentType: 'passport',  // 或者 'national_id_card', 'driving_licence', 'resident_permit'
        appearance: OnfidoAppearance(
          primaryColor: '#673AB7',
          secondaryColor: '#4CAF50',
          textColor: '#FFFFFF',
          logo: Uri.parse('https://your-logo-url.com/logo.png'),  // 可选
        ),
      ),
    );

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Onfido Flutter SDK Example'),
        ),
        body: Center(
          child: ElevatedButton(
            onPressed: () => startOnfidoVerification(),
            child: Text('Start Verification'),
          ),
        ),
      ),
    );
  }

  void startOnfidoVerification() async {
    try {
      // 启动Onfido身份验证流程
      OnfidoResult result = await Onfido.start();
      
      // 处理结果
      if (result.success) {
        print('Verification successful: ${result.userId}');
      } else {
        print('Verification failed: ${result.error?.message}');
      }
    } catch (e) {
      print('Error starting Onfido verification: $e');
    }
  }
}
  1. 处理身份验证结果

在上面的代码中,startOnfidoVerification函数会启动身份验证流程,并返回一个OnfidoResult对象。你可以根据result.success来判断身份验证是否成功,并获取相应的用户ID或错误信息。

请注意,你需要将YOUR_ONFIDO_API_TOKEN替换为你实际的Onfido API Token,并根据需要调整SDK配置。

  1. 运行你的Flutter应用

确保所有代码无误后,运行你的Flutter应用。你应该会看到一个按钮,点击后会启动Onfido身份验证流程。

这个示例展示了如何在Flutter应用中使用onfido_sdk插件进行基本的身份验证。根据具体需求,你可能需要进一步调整SDK配置或处理更复杂的身份验证流程。请参考Onfido的官方文档以获取更多信息和高级配置选项。

回到顶部