网站首页 > 技术文章 正文
近期,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中集成,前后端的具体交互流程:
授权过程中对应操作分两步:
- 苹果登录授权;
- 双重验证。
授权成功的回调数据分为:
- User ID苹果用户唯一标识符;
- Verification data: Identity token, code验证数据;
- Account information苹果用户信息;
- Real user indicator用于判断当前登录的苹果账号是否是一个真实用户,取值有:unsupported、unknown、likelyReal。
前端获取到回到数据后将数据传给后端,后端拿着这些数据去验证登录结果返回给前端。
前端根据后端返回结果做相应的登录结果展示。
苹果授权对应前端页面样式:
首次授权
非首次授权,点击button直接展示页面
那额外的就是就是根据各家的APP用户定义来做判断了,比如现在绝大多数APP第三方授权登录后还是需要绑定手机号,那有些不需要绑定手机号的,就直接根据第三方登录来给用户生成唯一的识别码。缺陷就是一个用户在同一个APP中可有多个账户,更换设备对用户不友好。
以上仅是个人对该集成功能的理解思路,欢迎批评指正,我们共同学习进步。
本文由 @酸辣土豆丝 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
- 上一篇: ASP.NET MVC模式用户登录功能开发实例及代码说明
- 下一篇: 验证码模式登录方案设计
猜你喜欢
- 2024-11-24 测试开发基础,教你做一个完整功能的Web平台之登录认证
- 2024-11-24 iframe嵌入页面实现免登录
- 2024-11-24 用Java三层架构写一个登录案例
- 2024-11-24 带你掌握springboot集成SpringSecurity认证授权
- 2024-11-24 .NET云原生应用实践(五):使用Blazor WebAssembly实现前端页面
- 2024-11-24 我觉得再没有登录页卷的啦,简单需求非要惊艳效果
- 2024-11-24 一步步使用SpringBoot实现登录和用户管理功能源码分享
- 2024-11-24 登录页漂亮不漂亮,来走两步。
- 2024-11-24 再来一波登录页,就这个样被征服了。
- 2024-11-24 自定义 WordPress 登录以回复链接及文字
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 601℃几个Oracle空值处理函数 oracle处理null值的函数
- 593℃Oracle分析函数之Lag和Lead()使用
- 581℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 578℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 573℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 566℃【数据统计分析】详解Oracle分组函数之CUBE
- 552℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 547℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)