本机号码一键登录!推荐 Flutter 极光认证插件

您所在的位置:网站首页 ios获取本机手机号码怎么设置密码 本机号码一键登录!推荐 Flutter 极光认证插件

本机号码一键登录!推荐 Flutter 极光认证插件

2024-07-07 06:43| 来源: 网络整理| 查看: 265

一键登录举例

本机号码一键登录基本成为各个 APP 的标配了。

传统的手机验证码登录方式:

输入手机号; 前端判断手机号是否有效; 后台判断手机号是否有效; 借助第三方下发手机验证码; 前端有一个倒计时,防止验证码过期输入; 手机收到验证码; 复制粘贴输入验证码校验; 将信息发给后台接口,验证手机号和验证码是否正确,然后才是注册和登录流程,下发认证 Auth 信息。

这一套流程下来足够费劲了。而上述的「本机号码一键登录」完全无感,只要一点按钮,所有操作一步到位。

今天我们来说一说如何利用「极光」做到「本机号码一键登录」的。

开通「极光认证」

开通「极光认证」,需要先完成实名认证,实名认证后可以领取 1,000 次极光认证礼包。

认证成功后,填入 android 和 iOS 包名、签名等信息。

开通后,即可领取免费使用次数。

注:签名生成工具 apk 包下载链接:https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk

安装极光认证插件

看过之前文章的朋友应该知道我们公司的 APP 是基于 Flutter 开发的,而且用到极光的推送插件:《推荐一款 Flutter Push 推送功能插件》https://mp.weixin.qq.com/s/l0_lghnp7ECRRO9YswWWSw。

这里我们还是使用极光认证提供的 Flutter 插件,根据官方提供的安装方法有 github 源代码集成和 pub 集成,这里我推荐 pub 集成方法:

dependencies: jverify: 0.6.1 插件功能

有了插件,接下来就可以写功能了。先来看看插件都提供哪些功能,这里我们主要看 Flutter 插件源码,

具体包括:

setup setDebugMode isInitSuccess checkVerifyEnable getToken verifyNumber loginAuth loginAuthSyncApi preLogin dismissLoginAuthView setCustomUI (注释掉了该功能) setCustomAuthViewAllWidgets clearPreLoginCache setCustomAuthorizationView

极光认证提供了两个方向性的功能:验证手机号和一键登录功能,今天我们主要是用到一键登录功能,整个插件使用流程大致是这样的:

开发决策流程图

主要用到的核心功能有:

setup setDebugMode isInitSuccess checkVerifyEnable preLogin setCustomAuthViewAllWidgets loginAuth

每个功能都挺好理解的,可以过一遍代码。

/// 统一 key final String f_result_key = "result"; /// 错误码 final String f_code_key = "code"; /// 回调的提示信息,统一返回 flutter 为 message final String f_msg_key = "message"; /// 运营商信息 final String f_opr_key = "operator"; final Jverify jverify = new Jverify(); setup

由于我的 APP 是 Flutter 一套开发的,所以在用 setup() 时带上 appKey 和 channel 属性,Android 则在配置文件中配置。

在 /android/app/build.gradle 中添加极光上创建应用的配置信息,我之前用到极光推送了,用的同一个应用。

// 注册极光认证 jverify.setup( appKey: "6592925ae1*****658473",//"你自己应用的 AppKey", channel: "devloper-default"); setDebugMode

这个简单,就是是否需要 debug 模式,在开发中建议打开,你也可以创建一个全局变量,在开发中默认打开,在打包 release 模式下是关闭的,避免在 APP 开发过程和打包过程中反复去修改这个状态

jverify.setDebugMode(isDebug); // 是否打开调试模式 isInitSuccess

判断 sdk 初始换是否成功:

jverify.isInitSuccess().then((map) { bool result = map[f_result_key]; setState(() { if (result) { _result = "sdk 初始换成功"; }else { _result = "sdk 初始换失败"; } }); checkVerifyEna


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3