2014-01-12 81 views
1

我正在使用Opauth供用戶使用他們的社交網絡帳戶登錄評論系統。授權用戶令牌的目的是什麼?

在閱讀了這個特定網站後,看起來令牌是通過將用戶存儲在會話中來標識用戶的一種方法。不過,我也讀過,沒有必要使用令牌,用戶ID就足夠了。

我的問題是,什麼決定您使用的令牌還是用戶ID足以識別用戶?

+0

「令牌如何識別用戶」 - 它在提供者一側。 '代幣 - 應用程序 - 用戶'關係。因此,特定的令牌標識特定應用程序的用戶 – zerkms

+0

謝謝@zerkms,儘管我仍然無法理解。我認爲這個問題和答案有助於我正在嘗試做什麼,並理解在我的情況下是否需要令牌:http://stackoverflow.com/a/10100252/938664 –

+0

有趣的是,這是我2年前的答案,因爲好:-) – zerkms

回答

1

uid唯一標識用戶,但令牌和祕密用於在您獲得帳戶訪問權限後向Twitter/Facebook API發送請求。

如果你不打算提出任何額外的請求,祕密和令牌不會對你有用。

1

我會盡力向您解釋Access Tokens參照Facebook API的目的。

A uid(用戶ID)是可以唯一標識Facebook上的用戶的東西。例如:1786565687(這是我的順便說說)。而訪問令牌是一個不透明的字符串,用於標識用戶,應用或頁面,並且可由應用用於製作圖形API調用。例如,當應用程序調用API來代表他們讀取,修改或編寫特定人員的Facebook數據時,就需要User Access Token

我也讀過,它沒有必要使用令牌,用戶ID 就足夠了。

這是真的,但使用用戶標識,您只能獲取與特定用戶相關的有限數量的信息。例如:https://graph.facebook.com/1786565687將只爲用戶提供有限的信息Rahil Arora(這是我的),你將無法代表我寫信或修改。

鑑於使用有效的訪問令牌,您甚至可以代表他們編寫或修改特定人員的數據。由於隱私檢查,Facebook上的大多數API端點都需要包含訪問令牌,因此您無法通過使用用戶標識訪問端點。您需要有效的訪問令牌才能訪問與特定用戶相關的額外信息。例如:https://graph.facebook.com/1786565687?access_token={Access_Token}會爲您提供比以前的調用更多的信息。

什麼決定您使用令牌還是用戶ID僅僅是 足以識別用戶?

嗯,正如你所看到的,你可以選擇一個令牌或只是一個用戶ID,這取決於你願意執行的動作的類型。

您可以參考答案中發佈的鏈接以獲取更多信息。

+0

您是否檢查過** [link](http://cloud.chrisburton.me/0W2t0F3W1N3B)**?登錄到你的Facebook,你會看到我收到的數據比你有** [顯示](https://graph.facebook.com/1786565687)**更多。根據這些數據,我的問題是,我現在可以用他們的UID識別用戶,而不是令牌? –

+0

是的。我知道。那只是一個例子。這裏的要點是,用一個令牌,你可以做更多的事情。爲了識別,你可以使用兩者。可以使用調試工具從訪問令牌獲取用戶信息。看看[這個鏈接](https://developers.facebook.com/docs/facebook-login/access-tokens/#debug) –