Flutter安全验证插件secverify_plugin的使用

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

Flutter安全验证插件secverify_plugin的使用

运营商网关取号,一秒验证手机号

支持的原生SDK版本

简介:

SecVerify 官方网站

插件主页:

SecVerify Flutter 插件

官网文档:

SecVerify 产品介绍文档

1. Flutter集成文档

SecVerify-For-Flutter 在线文档

2. iOS平台配置参考

iOS集成文档

  • 实现 “一、注册应用获取appKey 和 appSecret”
  • 实现 “三、配置appkey和appSecret”

3. Android平台集成

导入SMSSDK相关依赖
  1. 在项目根目录的build.gradle中添加以下代码:
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath 'com.mob.sdk:MobSDK:+'
}
  1. /android/app/build.gradle中添加以下代码:
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
// 导入MobSDK
apply plugin: 'com.mob.sdk'
MobSDK {
   appKey "替换为mob官方申请的appkey"
   appSecret "替换为mob官方申请的appkey对应的appSecret"
   SecVerify {}
}
  1. 在根路径下的pubspec.yaml文件中添加secverify flutter插件:
dependencies:
  secverify_plugin:^1.30.7

在你项目的Dart中添加以下代码:

import 'package:secverify_plugin/secverify.dart';

这样,就可以使用plugin中定义的dart api了。

  1. 平台相关集成

在项目的/android/app/build.gradle中添加:

android {
    // lines skipped
    dependencies {
        provided rootProject.findProject(":secverify")
    }
}

这样就可以在你的project/android/src下的类中import com.mob.flutter.secverify.SecverifyPlugin并使用SecverifyPlugin中的api了。

添加代码
  1. MainActivityonCreate中添加以下代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
    // 注册SecVerify Flutter插件
    SecverifyPlugin.registerWith(registrarFor(SecverifyPlugin.CHANNEL));
    // 初始化SecVerify
    MobSDK.init(this, MOB_APPKEY, MOB_APPSECRET);
}

技术支持

如有问题请联系技术支持:

服务电话: 400-685-2216
QQ: 4006852216
节假日值班电话:

  • iOS:185-1664-1951
  • Android:185-1664-1950
    电子邮箱: support@mob.com
    市场合作: 021-54623100

示例代码

以下是完整的示例代码:

example/lib/main.dart

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

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

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

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Home(),
    );
  }
}

example/lib/Home.dart

import 'package:flutter/material.dart';
import 'package:secverify_plugin/secverify.dart';

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

class _HomeState extends State<Home> {
  String _result = "未初始化";

  [@override](/user/override)
  void initState() {
    super.initState();
    initPlatformState();
  }

  Future<void> initPlatformState() async {
    try {
      await SecverifyPlugin.verify("手机号码");
      setState(() {
        _result = "验证成功";
      });
    } catch (e) {
      setState(() {
        _result = "验证失败: $e";
      });
    }
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("SecVerify 示例"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text("结果: $_result"),
            ElevatedButton(
              onPressed: () {
                initPlatformState();
              },
              child: Text("验证手机号"),
            )
          ],
        ),
      ),
    );
  }
}

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

1 回复

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


secverify_plugin 是一个用于在 Flutter 应用中实现安全验证的插件。它通常用于快速登录、手机号验证等场景,通过调用运营商的网关进行验证,以提高安全性和用户体验。

以下是如何在 Flutter 项目中使用 secverify_plugin 的基本步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 secverify_plugin 的依赖。

dependencies:
  flutter:
    sdk: flutter
  secverify_plugin: ^latest_version

请将 latest_version 替换为最新的版本号。

2. 获取 AppKeyAppSecret

在使用 secverify_plugin 之前,你需要在相应的平台(如 MobTech 或其它提供服务的平台)注册你的应用,并获取 AppKeyAppSecret

3. 初始化插件

在你的 Flutter 应用中初始化 secverify_plugin。通常,你可以在 main.dart 中进行初始化。

import 'package:secverify_plugin/secverify_plugin.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  // 初始化 secverify_plugin
  await SecVerify.init(
    appKey: 'Your_App_Key',
    appSecret: 'Your_App_Secret',
  );
  
  runApp(MyApp());
}

4. 使用插件进行验证

你可以使用 SecVerify 提供的方法来进行手机号验证或快速登录。

4.1 获取验证码

Future<void> getVerificationCode() async {
  try {
    await SecVerify.getVerificationCode(
      phoneNumber: '1234567890',
      templateID: 'Your_Template_ID',
    );
    print('Verification code sent successfully');
  } catch (e) {
    print('Failed to send verification code: $e');
  }
}

4.2 验证验证码

Future<void> verifyCode() async {
  try {
    bool isValid = await SecVerify.verifyCode(
      phoneNumber: '1234567890',
      code: '123456',
    );
    if (isValid) {
      print('Verification successful');
    } else {
      print('Verification failed');
    }
  } catch (e) {
    print('Failed to verify code: $e');
  }
}

4.3 快速登录(一键登录)

Future<void> quickLogin() async {
  try {
    String token = await SecVerify.quickLogin();
    print('Quick login token: $token');
    // 将 token 发送到服务器进行验证
  } catch (e) {
    print('Quick login failed: $e');
  }
}

5. 处理回调

secverify_plugin 通常会在验证成功或失败时返回相应的结果。你可以根据返回的结果进行相应的处理。

6. 配置 Android 和 iOS

根据插件的文档,你可能需要在 AndroidManifest.xmlInfo.plist 中进行一些配置,以确保插件正常工作。

Android

AndroidManifest.xml 中添加必要的权限和配置。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

iOS

Info.plist 中添加必要的权限和配置。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!