iT邦幫忙

0

請問一下大家一個網站系統登入的問題
比方說payeasy或是yahoo,除了該系統的帳戶以外
同時也可以用Facebook或是Google帳戶登入
請問一下這是什麼原理呢?
我的意思是Facebook或是Google帳戶的資訊並沒有存在該網站的系統資料庫中
為什麼這樣還可以登入呢?
登入後也一樣執行線上購物嗎?
用非其系統的帳號登入是否會存放其異質系統的帳號跟密碼相關資訊嗎?
Thanks

10
wiseguy
iT邦超人 1 級 ‧ 2013-01-05 20:08:51
最佳解答

請參考 OAuth 認證授權協定。
簡單說,如果你想用 A 的服務 (payeasy或是yahoo) 但是不想在 A 上留身份資料,而 A 恰好有支援使用 B 的認證 (Facebook或是Google),於是你就可以用 B 的認證與授權,讓 A 可以從 B 得知你是誰而不必洩露你的帳密給 A ,就可以讓 A 允許你使用它的服務了。

6
simon88
iT邦研究生 3 級 ‧ 2013-01-06 23:03:04

第三方的驗證,是方便你不用去做login所需的帳號密碼檢查動作,你只需要從第三方丟回來的訊息判斷是否true就可以。
另外從第三方也可以取的一些use相關資料,例如,姓名、性別、email等等。端看user授權的程度。

一旦登入之後,你會遇到的問題有,該user是否曾在自己的網站註冊過?
如果有,是不是該關連原來的記錄?(變成同一筆,讓他有兩種以上方式登入)
如果沒有,是不是該引導use繼續填寫一些你需要的個人資訊?方便user做後續在網站中的記錄。

2
poemnite
iT邦研究生 3 級 ‧ 2013-01-08 15:07:36

簡單來說
"登入" 跟 "授權" 是可以拆解

透過 Facebook, Yahoo, 可以幫你驗證身份
(其實就是跟 LDAP 一樣, 或根本是使用 LDAP)
確定是不是認證的用戶

確認身份後, 然後就可以在自己的系統中開始處理授權的問題

我要發表回答

立即登入回答