Top Menu

接入OwnID生物识别认证

OwnID是一个第三方生物识别认证服务,通过设备的指纹或人脸识别进行登录认证,代替传统的密码认证。

登录认证流程如下

  1. 在登录页输入邮箱生成登录二维码
  2. 使用iPhone扫描二维码并浏览器打开OwnID网站
  3. 调用iPhone的生物识别功能通过认证生成ownid
  4. 通过邮箱获取应用保存的ownid数据,对比两个ownid
    • 如果ownid数据为空(新用户)
      1. 进行邮箱验证
      2. 更新应用保存的ownid
      3. 完成认证
    • 如果扫码手机ownid与原保存的ownid不符(换了手机)
      1. 进行邮箱验证
      2. 更新应用保存的ownid
      3. 完成认证
    • 如果扫码手机ownid与原保存的ownid一致
      1. 完成认证

注册流程如下

  1. 在登录页输入邮箱生成登录二维码
  2. 使用iPhone扫描二维码并浏览器打开OwnID网站
  3. 调用iPhone的生物识别功能通过认证生成ownid
  4. 通过邮箱获取应用保存的ownid数据,应用返回无该用户
  5. 生成随机密码填入密码区域(OwnID流程中断)
  6. 进行正常用户名密码的注册流程

OwnID有一个问题就是注册时不需要验证邮箱,但是下次登录再次使用OwnID时就需要验证邮箱

Laravel接入流程

OwnID有一个处理从getSessionByLoginId接口获取token的事件,在这个事件里可以把users表里的remember_token存到cookies里,这样当登录跳转的时候,就可以在Controllers里通过cookies里保存的remember_token来认证用户权限

下面是一个简单的示例,通过token鉴权,拿到userID后,可以直接通过Auth::loginUsingId认证用户,最后再刷新下session。

另外因为laravel有csrf跨域安全机制,所以还需要在VerifyCsrfToken中间件中把OwnID访问的接口路径给排除一下,否则OwnID没办法post数据到接口。

 

There are no comments yet

  • Hello, guest

Powered by WordPress. Designed by WooThemes