【在 iOS 开发路上的大小事-Day21】透过 Firebase 来管理使用者 (Sign in with Apple 篇) Part1


▲ 图片取自网路

前情提要

Sign in with Apple 是 Apple 在 WWDC 2019 上推出的全新功能
让使用者可以直接透过 Apple ID 来登入 App,而不需使用社群帐号或是注册新帐号来使用 App

此外,现在每个 App 或是网站不管使用哪种登入方式,基本上都一定会存取使用者的 Email
就算是使用 Sign in with Apple 登入也不例外,But!就是这个 But
Sign in with Apple 与其他登入方式不同的是,使用者可以自行选择是否要与 App/网站分享 Email


▲ 图片取自网路

如果不想分享 Email 的话,Apple 会为使用者建立一个 虚拟 Email,来替代原先使用者真实的 Email
并将这个 虚拟 Email 告诉 App/网站,如下图


▲ 图片取自网路

Sign in with Apple 使用资格

开发者

  1. 装置系统为 iOS 13、iPadOS 13、macOS 10.15 (含)以上版本*
  2. Xcode 11 (含)以上版本
  3. 属於 Apple Developer Program 计画成员 (白话就是:年费 USD $99 的付费开发者)

*:如果使用「Sign in with Apple JS」来实作的话,装置系统不需为 iOS 13/iPadOS 13 也可以使用

*:App 内假如有使用到第三方登入服务,像是 Google、Facebook 等的话,就一定要新增 Sign in with Apple 作为登入方式之一,不然上架的时候,Apple 可是会直接拒绝上架的喔

使用者

  1. 有使用双重验证的 Apple ID
  2. 有在 Apple 装置上登入 iCloud

Sign in with Apple 实作方法

  1. 使用 AuthenticationServices Framework:装置系统需为 iOS 13/iPadOS 13 以上
  2. 使用 Sign in with Apple JS:采用 Java Script 撰写,对於装置系统无限制,因为是 WebView
  3. 使用 Sign in with Apple API:透过呼叫 Apple 提供的 API 实作,此方式因为安全性的考量,需要多次呼叫不同的 API 才能完成,一样也是采用 Java Script 撰写,对於装置系统无限制,因为是 WebView

所以一般会推荐使用第1种或是第2种方法来实作

开始实作的前置准备

将专案的 Signing 栏位的帐号改为付费开发者的帐号

并点击+新增「Sign in with Apple」的 Capability

好了,这样 Xcode 内就设定好了,让我们切换到 Firebase Console~

将 Firebase Auth Sign in Method 里面的 Apple 启用

这样就完成前置作业了~
下一篇要来分享如何使用 AuthenticationServices Framework 来实作 Sign in with Apple!

参考资料

  1. Sign In with Apple(Apple 登入)-法兰克的iOS世界
  2. 如何整合 Sign in with Apple 到自己的 iOS App 上 (iOS & Backend)-兔子

<<:  Day 19 信号

>>:  Day 21 : SVM

宝塔面板操作日志定时清理

这里删除的仅是面板的操作日志,与网站日志无关联 Linux宝塔操作记录日志路径: /www/serv...

Day 09 CSS <背景属性>

CSS背景属性 可以给页面元素添加背景样式 背景属性可设置背景颜色、背景图片、背景平舖、背景图片位置...

点光源与自发光

大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...

[Day 9] Leetcode 917. Reverse Only Letters (C++)

前言 今天的daily challenge题目是917. Reverse Only Letters,...

EdbMails MBOX to PST converter

EdbMails MBOX to PST converter is a convenient too...