X
    Categories: My_Note

iOS 使用 Facebook 登入驗證 的流程順序問題排解

iOS 開發 Facebook 登入的程式確認都正常,但是卻抓不到 Facebook Email(同理其他欄位都有可能會拿不到) 的值,Facebook 相關的設定也都正確,到底要怎麼查起呢?

iOS 使用 Facebook 登入後,驗證帳號使用的 App 順序是如何呢?

iOS 使用 Facebook 登入驗證 的流程順序問題排解

此次發生問題是在於 iPhone 11 使用 飛比價格 App 登入,卻一直遇到 Email (透過 Facebook Login)抓取不到的情況。

抓取不到 Email 有可能有下述兩種情況:

  1. Facebook 裡面 Email 尚未驗證通過
  2. Login Auth 的權限不開放給 Email

此次這兩點都確認過,App 也重新安裝過,Facebook 也登出、登入過,而此帳號在 Android 是可以正常登入、登出的。

App 的 Facebook 登入程式部份都正常,此次遇到情況比較特殊,是此 iPhone 11 分別做下述兩件事情:

  1. Safari 登入 A 帳號(此帳號 Email 可能有上述兩個情況之一)
  2. Facebook App 登入 B 帳號(上述兩個情況都確認沒有問題)
    • 註:此次重點是要使用 B 帳號登入

原本預期 飛比App 應該要使用 Facebook App 來做 Auth Login,但是仔細看一下,App 是會先開啟 Safari 的 Facebook 網頁,然後若此網頁是登入狀態,就會直接使用此頁面做登入

所以此的情況的解法:將 Safari 的 Facebook 帳號登出,然後於 飛比App 使用 Facebook 登入,就會開啟 Facebook App 做登入,此次問題就解決了~

總結 iOS 的 Facebook Auth 登入驗證的步驟會是如下:

  1. 開啟 Safari 的 Facebook.com 網頁版
    1. 檢查 Facebook.com 的網頁是否有登入
    2. Facebook.com 網頁有登入,則使用此 Facebook 帳號做 Auth 登入動作
  2. 若 Safara 的 Facebook.com 網頁版沒有登入的情況
    1. 開啟 Facebook App 做登入驗證

註:Facebook 此種驗證方式也蠻合理的,不能預期所有人都有安裝 Facebook App,但是瀏覽器是一定有的,至少瀏覽器只要登入 Facebook,那 oAuth 就應該要可以使用。

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post