【在 iOS 开发路上的大小事-Day14】Firebase 的登入验证服务介绍

前情提要

在前一篇有提到说,Firebase 有提供许多服务供开发者使用
登入验证服务算是蛮常会被使用的服务之一,所以这篇就来介绍一下,到底有提供哪些登入方法吧

▲ Firebase 提供的所有登入验证方式

进入正题

Email 登入

顾名思义就是透过 Email 和密码来登入,也是最常见的登入方式之一
Firebase 提供了电子信箱验证、忘记密码/密码重设、删除帐号等功能

电信业者登入

电信业者登入也就是透过电话号码登入,实际运作的话大致就像下图那样 (有错请告知,感谢!)

  1. 使用者在 App 内选择使用电话号码进行验证後,透过 Firebase Auth SDK 进行验证
  2. Firebase Auth 与 APNs 之间进行沟通,确认是否已有 APNs 凭证在 Firebase 内
  3. APNs 凭证已在 Firebase 内後,透过远端推播将验证码传送至在 App 内填写的电话号码
  4. 使用者在手机上收到验证码後,在 App 内输入验证码以进行登入

虽然用电话号码验证很方便,但与其他登入验证相比,安全性较低,所以如果想要在 App 中使用电话号码登入验证的话,建议同时也要提供其他更安全的登入方式,并将使用电话号码登入的安全问题告诉使用者 (引自 Firebase Auth 电话号码验证官方文件)

Google 帐号登入

顾名思义就是透过 Google 帐号来登入,也是最常见的登入方式之一

Google Developers 官方文件

Google Play 游戏登入 (Android 才可以使用)

您可以使用 Google Play 游戏服务,让玩家登入在 Firebase 上构建的 Android 游戏。要使用 Google Play 游戏服务登入 Firebase,请首先让玩家登入 Google Play 游戏,并同时申请一个 OAuth 2.0 身份验证代码。然後,将此身份验证代码传递给 PlayGamesAuthProvider 以生成一个 Firebase 凭证,您可以使用该凭证进行 Firebase 身份验证。
(引自 Firebase Auth Google Play 游戏服务官方文件)

Game Center 登入 (Apple 装置才可以使用)

您可以使用 Game Center,使玩家能够登入用 Firebase 构建的 iOS 游戏。要在 Firebase 上使用 Game Center 登入服务,请首先确保本地玩家已登入 Game Center,然後使用 GameCenterAuthProvider 生成一个 Firebase 凭证,您可以使用该凭证进行 Firebase 身份验证。(引自 Firebase Auth Game Center 登入验证官方文件)

Facebook 帐号登入

顾名思义就是透过 Facebook 帐号来登入,也是最常见的登入方式之一

Facebook Developers 官方文件

Twitter 登入

顾名思义就是透过 Twitter 帐号来登入,也是最常见的登入方式之一

GitHub 登入

顾名思义就是透过 GitHub 帐号来登入,但不太常见
通常会在偏开发者的论坛出现 (例:Stack Overflow)

Yahoo 帐号登入

顾名思义就是透过 Yahoo 帐号来登入,但随着 Yahoo 慢慢被淘汰,所以也不建议使用

Microsoft 微软帐号登入

顾名思义就是透过 Microsoft 微软帐号来登入
但我印象中没看过有 App 用过 (除了微软自家的)

Microsoft Azure Directory 官网介绍

使用 Apple ID 登入 (Sign in with Apple)

顾名思义就是透过 Apple ID 来登入,也是现在 iOS App 最常见的登入方式之一
(但不限於只在 iOS App 上可以使用,像是 Android、Web 都是可以使用的)

要注意的是,如果在 App 里有使用到第三方验证的话,像是 Google、Facebook 帐号登入的话
就必须一定要将 使用 Apple ID 登入 (Sign in with Apple) 这个登入方式也新增上去
不然日後如果要将 App 上架到 App Store 的话,可是会上架失败,被 Apple 退回去的!
此外,要使用这项功能的话,必须要是 Apple 付费开发者 (不包含企业帐号) 才行喔~

Apple Developer 官网介绍

匿名登入

您可以用 Firebase Authentication 创建和使用临时匿名帐号来进行 Firebase 身份验证。借助临时匿名帐号,尚未注册您应用的用户也可以使用受安全规则保护的数据。如果匿名用户决定注册您的应用,您可以将他们的登入凭证与匿名帐号关联,这样他们就可以在以後的操作中继续使用其受保护的资料。(引自 Firebase Auth 匿名帐号登入官方文件)

总结

今天分享了 Firebase 提供的所有帐号验证方式,後面几篇会来分享如何透过 Firebase 来使用 Email、Google 帐号、Facebook 帐号、Apple ID 这四种登入方式

参考资料:

  1. Firebase Auth 官方文件

<<:  Day14 vue.js注册验证帐号是否重复ep2

>>:  DAY12支持向量机演算法(续一)

【从零开始的Swift开发心路历程-Day20】简易订单系统Part4(完)

目前我们已经完成简易订单系统的新增订单及删除订单,只要加上修改订单的功能就算完成啦! 我们一样利用将...

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day30 社群网站上线啦!

终於完赛了!感谢支持与追踪这一系列影片的朋友们!希望未来有机会可以再拍其他主题的影片和大家分享! ...

图论与演算法之间的相互应用

Disclaimer: 今年大概撑不到连续 30 天...大概能写多少就是多少吧 哈哈 1 图论为...

110/17 - Android 6图片剪裁

没想到会因为图片剪裁中断,以前都偷懒使用uCrop,这次想说练习内建的剪裁,结果有够麻烦 Andro...

ASP.NET MVC 从入门到放弃(Day23)-MVC编辑资料介绍

接下来讲讲编辑 部分... 在查询的View那边可以看到下方程序码 @Html.ActionLink...