近期,APP苹果版本第三方登录app都必须接入Sign in with Apple。本文仅针对此功能来做一个说明,一起来看看~
用户保护用户隐私的【Sign in with apple】登陆项,也被IOS审核纳入了新的条例中。要求所有使用 第三方登录 的 App,都 必须接入Sign in with Apple。
符合以下条件的 App,可以不接入:
使用自建账户和登录系统;
要求用户使用现有的教育或企业账户登录的教育、企业或商业类应用;
使用政府或行业支持的公民身份识别系统或电子 ID 来验证用户;
应用特定于第三方服务,用户需要使用邮箱、社交媒体或其它第三方账户才能访问其内容的应用。
已经上架的 App 需在 2020 年 4 月 前完成接入工作,新上架 App(如果支持三方登录)必须接入,负责将被拒。
针对此要求,近期我们的APP 苹果版本的第三方注册登录入口增加了此选项,下面我仅针对APP上集成该功能做说明。
首先要在APP上集成此功能,需四步完成,如下图:
首先你的APP上要有入口button,用户点击后,发起授权请求;
发起授权请求,这一步设置所要获取的用户数据,然后设置回调代理,发起授权请求;
授权验证,服务端处理返回验证结果,分为授权成功和授权失败;
特殊处理:
这种特殊情况的处理方式可以是唤醒APP时的判断处理,或者是APP使用过程中的时间监听。
有了上边的大致流程说明,我们来看下在APP中集成,前后端的具体交互流程:
授权过程中对应操作分两步:
苹果登录授权;
双重验证。
授权成功的回调数据分为:
User ID苹果用户唯一标识符;
Verification data: Identity token, code验证数据;
Account information苹果用户信息;
Real user indicator用于判断当前登录的苹果账号是否是一个真实用户,取值有:unsupported、unknown、likelyReal。
前端获取到回到数据后将数据传给后端,后端拿着这些数据去验证登录结果返回给前端。
前端根据后端返回结果做相应的登录结果展示。
苹果授权对应前端页面样式:
首次授权
非首次授权,点击button直接展示页面
那额外的就是就是根据各家的APP用户定义来做判断了,比如现在绝大多数APP第三方授权登录后还是需要绑定手机号,那有些不需要绑定手机号的,就直接根据第三方登录来给用户生成唯一的识别码。缺陷就是一个用户在同一个APP中可有多个账户,更换设备对用户不友好。
以上仅是个人对该集成功能的理解思路,欢迎批评指正,我们共同学习进步。