init.engineer icon indicating copy to clipboard operation
init.engineer copied to clipboard

提供更多社群平台登入/註冊,並且於登入後才能綁定其他社群平台

Open Kantai235 opened this issue 2 years ago • 0 comments

目前做法: 如果有人透過社群平台來登入,那麼根據社群平台的 Email 來去尋找使用者帳號。

疑慮: 如果該使用者(A User)是透過 Email([email protected]) 註冊本平台服務,但並沒有 GitHub 帳號,而 GitHub 有人(B User)使用相同的 Email([email protected]) 去註冊帳號,但並非該使用者(A User),這時候 B User 就可以透過 GitHub 登入來取得 A User 在本平台服務的資料。

改善方案:

  1. 記錄使用者有綁定那些社群平台。
  2. 根據綁定平台來判斷使用者是否可以透過該平台來登入。
  3. 使用者第一次註冊時,可以直接綁定社群平台,之後必須登入後,才能綁定社群平台。
  4. 使用者透過其他社群平台登入時,如果尚未綁定該平台,則無法登入。

Kantai235 avatar Apr 30 '22 15:04 Kantai235