2011-06-15 180 views
1

我們有一個Web服務,可供我們註冊的客戶使用。我們在註冊期間獲得客戶的用戶名,密碼和IP /域。這個webservice可以被註冊客戶用在他們的應用程序中。 如果使用AJAX請求通過瀏覽器進行web服務調用,我們如何驗證客戶端。 我們目前使用getReferrer進行身份驗證(這給了我們客戶端域)。想知道是否有更好的方式來處理這種認證。從客戶端瀏覽器驗證/授權AJAX請求

感謝您在這方面的幫助。

感謝 阿尼爾ķ

回答

1

一個保護Web服務將需要以下步驟的方法:

  • 在您的網站從那裏註冊的客戶端可以在「API密鑰」請求添加功能。這個「key」將是一個唯一的隨機字符串(最好是一個固定長度的字符串)。
  • 客戶端進行的第一個Web服務調用應該是一次認證調用。在此調用中,客戶端必須將「API密鑰」作爲HTTP標頭值傳遞。在服務器端,您應該驗證傳入IP /域和「API密鑰」是否來自注冊客戶端。這樣客戶端不需要發送「用戶名/密碼」進行認證。
  • 如果密鑰和IP /域匹配,則可以假定此Web服務調用來自有效客戶端。現在在服務器端,生成一個「令牌」(一個唯一的隨機字符串),並將該「令牌」作爲對認證Web服務調用的「響應」發送給客戶端。
  • 此「令牌」必須由客戶端在每個後續Web服務調用中發送。你必須檢查這是否是一個有效的「令牌」。 「令牌」應在特定時間段後過期。例如,如果在過去15分鐘內未使用「令牌」,則應該過期,Web服務客戶端將不得不再次調用身份驗證API。

希望這有助於

+0

你好阿齊茲 感謝您的答覆。這涉及客戶端每次驗證或發送令牌以訪問Web服務。 該調用不是由客戶進行的。通過AJAX調用,客戶應用程序的用戶正在從用戶的瀏覽器進行調用。有沒有一種方法來驗證來自瀏覽器的呼叫,而不要求客戶端每次都發送令牌。 謝謝 Anil – 2011-06-15 10:44:55

+0

所以,如果我正確地理解了你,你的客戶已經註冊,但他們的客戶(你稱爲用戶)沒有直接向你註冊,對嗎? – 2011-06-17 10:56:24

+0

你好阿齊茲。對,那是正確的。 有什麼建議嗎? 謝謝。 – 2011-06-20 12:58:18

相關問題