舊系統上 FB 帳號登入的會員,可以轉到新系統上使用嗎 ?

資深電商工匠
3 min readNov 5, 2019

--

網站提供使用 facebook 帳號登入(或註冊)的開發程序 :

  1. 先使用 facebook的開發者帳號,在 facebook for developers 建立一個 [facebook 登入] 的應用程式,做好相關設定,包含應用程式網域、有效的 OAuth 重新導向 URI 等等。
  2. 在你的網站上,安裝(或開發) facebook 帳號登入模組,並設定取自前一步驟所得到的 [facebook 登入] 應用程式編號、應用程式密鑰等資料。

在網站上使用 facebook 帳號登入(或註冊)的運作程序 :

  1. 會員點擊網站提供的 facebook 帳號登入連結
    這個連結是由 facebook 帳號登入模組所產生,包含使用 [facebook 登入] 應用程式編號、應用程式密鑰所編碼產生的參數,以提供 facebook 系統進行解碼及驗證來源是否可信。
  2. facebook 系統通過驗證及授權
    通過 facebook 系統驗證及授權之後,網頁會被導回 facebook for developers [facebook 登入] 應用程式中所設定的 OAuth 重新導向 URI,通常是 facebook 帳號登入模組準備好的接收網址。
  3. facebook 帳號登入模組取得 facebook 的使用者個人資料
    若 facebook 系統通過驗證及授權,facebook 帳號登入模組就能透過 facebook API 取得該 facebook 使用者的個人資料,包含 facebook User ID、姓名、Email ….
  4. 進行網站的登入或註冊
    facebook 系統的 [facebook 登入] 應用程式,並沒有提供登入網站的功能,只提供 facebook 使用者帳號的驗證及授權,網站上的 facebook 帳號登入模組,必須自行處理登入系統或註冊帳號的動作,以 OpenCart 系統為例,facebook 帳號登入模組取得 facebook 使用者的個人資料之後,可以取得該使用者的 Email,去檢查 OpenCart 系統中是否有此 Email 的會員,若有,便呼叫登入程序進行登入動作,若否,就以從 facebook 取得的個人基本資料,去呼叫 OpenCart 的註冊程序進行新會員註冊。

由此可知,網站系統處理 facebook 帳號登入,是透過 [facebook 登入] 應用程式編號、應用程式密鑰等資料,經過驗證及授權,從 facebook 系統所取得的 facebook user id 或 email,來比對檢查電商系統的會員資料,並不會綁定網站的網址或系統。

若轉換系統或平台,只要將舊系統上,用來辨識 facebook 使用者的會員資料欄位(例如 facebook user id 或 email)轉移到新系統上,就能在新網站系統上開發相同的會員登入檢查邏輯,讓舊系統上的 facebook 帳號登入會員,也能在新系統上繼續使用 facebook 帳號來登入了。

--

--

資深電商工匠
資深電商工匠

Written by 資深電商工匠

開源電商首席工程師,18年購物網站設計、商家輔導上線經驗 ... https://www.osec.tw

No responses yet