iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
Mobile Development

在 iOS 開發路上的大小事系列 第 21

【在 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)-兔子

上一篇
【在 iOS 開發路上的大小事-Day20】透過 Firebase 來管理使用者 (Sign in with Facebook 篇) Part2
下一篇
【在 iOS 開發路上的大小事-Day22】透過 Firebase 來管理使用者 (Sign in with Apple 篇) Part2
系列文
在 iOS 開發路上的大小事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言