近期,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 ID退出登录/切换新的账号登录; 用户在设置页面禁止APP使用苹果账号登录; 这种特殊情况的处理方式可以是唤醒APP时的判断处理,或者是APP使用过程中的时间监听。 有了上边的大致流程说明,我们来看下在APP中集成,前后端的具体交互流程: 授权过程中对应操作分两步: 苹果登录授权; 双重验证。 授权成功的回调数据分为: UserID苹果用户唯一标识符; Verificationdata:Identitytoken,code验证数据; Accountinformation苹果用户信息; Realuserindicator用于判断当前登录的苹果账号是否是一个真实用户,取值有:unsupported、unknown、likelyReal。 前端获取到回到数据后将数据传给后端,后端拿着这些数据去验证登录结果返回给前端。 前端根据后端返回结果做相应的登录结果展示。 苹果授权对应前端页面样式: 首次授权 非首次授权,点击button直接展示页面 那额外的就是就是根据各家的APP用户定义来做判断了,比如现在绝大多数APP第三方授权登录后还是需要绑定手机号,那有些不需要绑定手机号的,就直接根据第三方登录来给用户生成唯一的识别码。缺陷就是一个用户在同一个APP中可有多个账户,更换设备对用户不友好。 以上仅是个人对该集成功能的理解思路,欢迎批评指正,我们共同学习进步。