经典登录模式

本模式适合经典vpn认证模式。用户直接使用私有账户登录vpn获取内网资源,之后经过OA的登录过程进入OA系统。

一些客户不希望用户多输入一遍vpn账号,想要简化流程,于是就产生了本流程的一个变种:在vpn服务器上开启外部认证模式,使用同一账户先登录VPN,之后使用此账户登录OA系统。这样,用户认为是输入了一遍账号密码,实际上依旧是分开进行登录的。

  1. 初始化vpn配置
    1. [必需] 添加登录结果回调 setLoginResultListener
    2. [强烈推荐] 添加vpn状态变化监听器,可注册多个监听器 addStatusChangedListener。注意,对于同一个位置,需要每次调用时传入相同的回调,否则,会导致每次调用此接口回调函数就会增加一个的问题,导致回调被多次调用,造成混乱。
    3. [高级功能] 添加应用白名单,只允许白名单应用访问vpn addAllowedL3VPNApps
    4. [非必需] 设置语言环境,提供更友好的错误提示 setDeviceLanguage
    5. [不建议使用] 设置日志打印等级 setLogLevel
    6. [不建议使用] 设置认证连接的超时时间 setAuthConnectTimeOut
  2. 进行主认证
    1. [强烈推荐] 查询是否可以进行免密登录 ticketAuthAvailable,若支持免密登录,则在程序自己的离线认证(手势锁,指纹锁)成功后,调用免密登录接口进行登录 startTicketAuthLogin,进入第3步,进行二次认证。
    2. [第一次必需] 根据需要进行主认证,一般是用户名密码认证 startPasswordAuthLogin 或证书认证 startCertificateAuthLogin
  3. 进行二次认证,根据 onLoginProcess 回调的数据进行如下的认证方式,可能多次回调此接口,但是认证方式一般不同。以下接口建议全都处理一下,以免后续升级维护问题。
    • [必须] doRenewPasswordAuth 强制修改密码 服务端配置了密码策略,在密码不符合要求时,强制修改密码,必须处理。
    • [必须] doRandCodeAuth 组合认证:图形校验码认证 用于防中间人攻击场景
    • doPasswordAuth 组合认证:用户名密码认证 常见于配置了两个主认证的场景
    • doCertificateAuth 组合认证:证书认证 常见于配置了两个主认证的场景
    • doSMSAuth 组合认证:短信认证 适用于配置了短信辅助认证的场景
    • doTokenAuth 组合认证:动态令牌认证 常见于配置了动态令牌辅助认证的场景
    • doRadiusAuth 组合认证:Radius挑战认证 和动态令牌很相似,常见于配置了动态令牌辅助认证的场景
  4. 通知虚拟网卡授权结果。认证完成后会开启虚拟网卡,此时若是第一次使用需要申请权限,需要在进行主认证时传入的activity上重写onActivityResult方法,在收到权限申请结果后,回调通知给sdk
    1. [第一次必须] onActivityResult 回调开启虚拟网卡授权结果。
  5. 登录完成
  6. 监听vpn通道状态,这个监听可以在多个地方注册。
    1. [强烈推荐] 添加vpn状态变化监听器,可注册多个监听器 addStatusChangedListener。注意,对于同一个位置,需要每次调用时传入相同的回调,否则,会导致每次调用此接口回调函数就会增加一个的问题,导致回调被多次调用,造成混乱。
      • VPNOFFLINE vpn离线,此时若需要使用vpn需要从第二步开始重新进行主认证。
      • VPNRECONNECTED vpn正在重连,此时vpn网络遇到问题,正在自行恢复,一般不需要干预,在网络联通后便会切换到在线状态。
      • VPNONLINE vpn在线,此时vpn能够正常使用
    2. [不建议使用] 主动查询vpn账户的登录状态,要与状态监听器区分开,此为easyapp模式的遗留接口,不建议在l3vpn模式下使用。
  7. 使用完毕,退出vpn
    • vpnLogout 此接口为异步接口,且没有回调,除非极特殊情况,一般都会在2s内成功注销vpn。

安全登录模式

本模式适合对安全有极特殊需求,对安全非常敏感的企业。用户先使用公有账号登录,获取到认证服务器的资源,之后登录OA系统,以实现进一步认证,接着使用私有账户登录VPN,从而获取私有账户的资源。

对于此登录模式,客户的资源的安全性能够得到更强有力的保障,但是由于流程更加复杂,出问题的概率也更高。

为了优化用户体验,强烈建议在控制台开启免密认证。一般而言,使用免密认证接口后,是不会进行二次认证的,所以会免去不少麻烦,提升用户体验。

不能在共有账号开启硬件特征码登录和最大设备数限制 整体流程虽然与经典登录模式有区别,但是每一步的详细过程是一样的,因此这里简写以缩减篇幅

首次登录,切换账号或更新密码后新账号登录也属于首次登录

  1. 初始化vpn配置
  2. 进行主认证
    • 使用主认证进行公有账户认证
  3. 进行二次认证
  4. 通知虚拟网卡授权结果。
  5. 登录完成
  6. 进行OA内部的认证流程
  7. 退出共有账号释放资源
  8. 进行主认证
    • 使用主认证进行第6步关联的私有账户进行认证
  9. 进行二次认证
  10. 登录完成
  11. 监听vpn通道状态
  12. 使用完毕,退出vpn

再次登录

  1. 初始化vpn配置
  2. 进行主认证
    • 使用免密认证进行登录
  3. 进行二次认证
  4. 登录完成
  5. 监听vpn通道状态
  6. 使用完毕,退出vpn

懒人模式

使用公有账户进行登录,将vpn的账户和密码内置在软件中。

极不推荐此方式,将账户和密码内置到软件对于一部分别有用心的人来说和明文没有区别。