2012-03-05 45 views
2

我們有一個基於ruby的API,我們的C#服務需要使用基於令牌的身份驗證進行查詢。在httpwebrequest方法的文檔中我沒有看到它支持這一點。有其他選擇嗎?HttpWebRequest是否支持基於令牌的認證?

+0

這意味着你認證並獲得一個令牌的那種API,然後傳遞給你,以證明你已被認證? – aepheus 2012-03-05 21:56:35

+0

什麼是令牌?一個cookie或一個POST參數? – 2012-03-05 21:58:33

回答

2

基於令牌的認證沒什麼特別的。它仍然通常使用HTTP,因此HttpWebRequest應該可以正常工作。這是通常發生的基於令牌的身份驗證的方式。

首先,有涉及令牌或基於聲明的身份驗證三種不同的政黨。正在進行身份驗證的服務器,正在進行身份驗證的客戶端以及第三方(令牌提供程序)。典型的認​​證只包括一個客戶端和一個服務器,但是在基於令牌的認證的情況下,存在令牌提供者。令牌提供程序對於客戶端而言是已知的,並且受服務器的信任。

由客戶端做出的HTTP請求令牌提供者,請求提供者的認證處理進行到提供一個令牌發送給客戶端。當然,在這一點上,客戶端很可能需要向令牌提供者進行身份驗證 - 這通常是使用傳統的身份驗證方法完成的。假設客戶端向令牌提供者進行身份驗證,令牌提供者將使用令牌進行響應。然後客戶端獲取該令牌並向包含該令牌的服務器發出請求。令牌已經被簽名,以便服務器可以知道令牌來自其可信令牌提供者以及客戶端應具有的權限。

長話短說,HttpWebRequest應該是完全足夠了。唯一的問題是你必須知道服務器和令牌提供者的所有細節,比如客戶端應該如何向令牌提供者進行認證(基本HTTP認證?發佈用戶名/密碼?),令牌供應商與令牌響應(包含在響應?使用cookies?),然後服務器希望如何在客戶端使用令牌(發佈令牌服務器?設置cookie與令牌?)認證等

+1

謝謝 - 而且,它只是我輸入的格式。令牌是一個URL參數,我之前沒有使用過它! :) – Darkenor 2012-03-05 22:37:39

+0

很高興我能幫上忙。 – 2012-03-06 15:01:20

相關問題