2014-01-18 146 views
13

上週我正在研究這個話題,不幸的是我無法弄清楚。我瞭解身份驗證和授權的區別。Thinktecture身份認證服務器vs授權服務器

我會很感激這個話題的任何指導。

作爲一般我需要的是實現多個網站的單點登錄,這是由apis驅動的,這也應該處理認證。用戶應該能夠註冊/登錄用戶名/密碼或分別通過任何第三方服務,如臉譜,谷歌+,微博等。

在上面的情況什麼是更好的方法?我應該只使用身份服務器,還是隻使用授權服務器?

預先感謝您。

回答

17

從IdentityServer開始 - 這是您的身份管理系統。

AuthorizationServer另外是一個全功能的OAuth2實現,可以使用IdentityServer作爲用戶存儲。

http://leastprivilege.com/2013/06/16/relationship-between-identityserver-and-authorizationserver/

+1

給定客戶端,AS,IS,API(WebApiController/MVC5)。最後3個在不同的服務器上。當客戶端通過身份驗證並授權後,它會向API發送令牌。 API是否再次檢查令牌信息,或者該令牌是否對AS或IS或兩者都有效? – mynkow

+1

AS使用已簽名的自包含JWT令牌 - 您可以驗證API中的有效性,而無需再次聯繫髮卡行。 – leastprivilege

+0

10x的迴應。我對此很陌生,但我仍然感到困惑。客戶是否有可能構建JWT令牌,這些令牌通過了API驗證,但是對IS沒有通過驗證? Thinktecture回購中是否有樣本顯示api如何驗證令牌? – mynkow

2

您的場景更像是確認用戶身份的驗證。另一方面,授權是指一個人或一個角色是否可以執行一些操作。

+1

這個問題表明他們已經理解認證和授權的區別。問題是關於Thinktecture IdentityServer和Thinktecture AuthorizationServer的區別。 –

+0

IS3是否具有與AS相同的GUI管理?使用Gui和數據庫而不是內存範圍和客戶端來管理WebAPI的任何示例? – Keith