LESSON 42 / 576 分钟

退出、授权撤销与删除账号

登录接入完成的标准不只是“能进首页”,还包括身份失效、用户删除和切换账号后数据是否正确。

用你的前端经验理解

业务退出类似注销 session;撤销第三方授权类似解绑身份提供方;删除账号是数据生命周期操作。三者不可互相替代。

为什么需要它

退出登录、Apple 授权撤销和删除业务账号是不同动作。退出主要终止本机或指定业务会话;撤销改变第三方授权关系;删除账号涉及服务端数据及其关联资源。把三者都实现为清空本地 token,会留下远端数据、活跃会话和难以解释的再次登录行为。

它是怎样工作的

账号删除需要明确确认、必要的身份再验证以及可恢复的执行流程。服务端清理可能横跨数据库、对象存储和外部授权,失败不能被一个成功弹窗掩盖。订阅管理也独立于账号删除:删除业务资料并不自动代表 App Store 订阅已经取消,界面必须清楚说明并提供相应管理入口。

把关键概念连起来

1

退出与切换

清除本账号的会话和内存状态,按产品策略隔离本地数据库。不要让账号 B 看到账号 A 缓存;离线时无法完成服务端动作要明确反馈。

2

授权与通知

按场景使用 credential state 检查、授权撤销通知与服务端事件,处理 revoked、notFound、transferred 等状态,不把上次登录成功缓存成永久事实。

3

删除与解绑

用户创建账号的应用应按当前审核规则提供账号删除入口;删除流程处理业务数据、服务端会话、Apple 令牌撤销及用户说明。删除账号不自动取消 App Store 订阅,要引导管理订阅。

订阅用户删除账号

先说明数据删除范围和当前订阅情况,提供系统订阅管理入口;验证用户操作后执行账号删除与适用的 Apple 授权撤销。流程结果分别报告,不把一种结果当成另一种已完成。

用户请求删除阅读账户

  1. 展示将删除的业务数据及影响,让用户确认后端实际收到的是当前已认证账号,而非客户端随意传入的 user ID。
  2. 后端执行幂等删除流程、撤销对应授权或会话,并记录必要且符合策略的结果状态;中断后允许查询或重试。
  3. 确认完成后清理本地账号缓存与凭证,切换到退出状态;不能继续向旧账号空间上传离线变更。

这里需要你亲自判断

不要把删除本地 Keychain 条目显示成“云端账号已删除”;也不要承诺删账号会同时注销系统 Apple 账号或自动取消付费订阅。

做一个小练习

给设置页设计四个入口:退出登录、同步状态、管理订阅、删除账号,并写出各自真正改变的对象。

  1. 分别写出退出、撤销、删除对本机凭证、远端资料和订阅的影响。
  2. 在删除中途模拟失败,设计用户如何知道状态并继续处理。
展开参考思路与验收标准

删除请求已接收与删除已完成可以是不同状态。账号切换必须隔离本地缓存和待同步队列,避免下一位用户看到或上传前一位的数据。

删除业务账号,是否会自动取消 App Store 自动续订?

继续查阅官方资料
Apple Developer 官方资料

本课聚焦核心认知。具体 API、系统要求与发布政策,以当前官方文档和工程验证为准。

答对理解题后即可标记完成