SigninwithApple(苹果登录)

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

用户保护用户隐私的【Sign in with apple】登陆项,也被IOS审核纳入了新的条例中。要求所有使用 第三方登录 的 App,都 必须接入 Sign in with Apple。符合以下条件的 App,可以不接入:

• 使用自建账户和登录系统;

• 要求用户使用现有的教育或企业账户登录的教育、企业或商业类应用;

• 使用政府或行业支持的公民身份识别系统或电子 ID 来验证用户;

• 应用特定于第三方服务,用户需要使用邮箱、社交媒体或其它第三方账户才能访问其内容的应用;

已经上架的 App 需在 2020 年 4 月 前完成接入工作,新上架 App(如果支持三方登录)必须接入,负责将被拒。

针对此要求,近期我们的APP 苹果版本的第三方注册登录入口增加了此选项,下面我仅针对APP上集成该功能做说明

首先要在APP上集成此功能,需四步完成,如下图:


  • 首先你的APP上要有入口button,用户点击后,发起授权请求
  • 发起授权请求,这一步设置所要获取的用户数据,然后设置回调代理,发起授权请求
  • 授权验证,服务端处理返回验证结果,分为授权成功和授权失败
  • 特殊处理:
  1. 设备上的APP ID退出登录/切换新的账号登录
  2. 用户在设置页面禁止APP使用苹果账号登录

这种特殊情况的处理方式可以是唤醒APP时的判断处理,或者是APP使用过程中的时间监听

有了上边的大致流程说明,我们来看下在APP中集成,前后端的具体交互流程:

SigninwithApple(苹果登录)

  • 授权过程中对应操作分两步
  1. 苹果登录授权
  2. 双重验证
  • 授权成功的回调数据分为:
  1. User ID苹果用户唯一标识符
  2. Verification data: Identity token, code验证数据
  3. Account information苹果用户信息
  4. Real user indicator用于判断当前登录的苹果账号是否是一个真实用户,取值有:unsupported、unknown、likelyReal。
  • 前端获取到回到数据后将数据传给后端,后端拿着这些数据去验证登录结果返回给前端
  • 前端根据后端返回结果做相应的登录结果展示
苹果授权对应前端页面样式
  • 首次授权

SigninwithApple(苹果登录)

  • 非首次授权,点击button直接展示页面
SigninwithApple(苹果登录)

那额外的就是就是根据各家的APP用户定义来做判断了

比如现在绝大多数APP第三方授权登录后还是需要绑定手机号

那有些不需要绑定手机号的,就直接根据第三方登录来给用户生成唯一的识别码

缺陷就是一个用户在同一个APP中可有多个账户,更换设备对用户不友好。

以上仅是个人对该集成功能的理解思路,欢迎批评指正,我们共同学习进步

使用请注明出处,谢谢!

本文被转载1次

首发媒体 产品壹佰 | 转发媒体

随意打赏

提交建议
微信扫一扫,分享给好友吧。