簡體   English   中英

如何使用ServiceStack.Net實現客戶端身份驗證

[英]How to implement Client Authentication with ServiceStack.Net

我正在使用servicestack.net庫開發Web服務。

在我的場景中,將從WPF應用程序調用Web服務。 我需要能夠驗證只有經過批准的客戶端應用程序才能調用我的服務。

這就像在客戶端應用程序中硬編碼“用戶名”和“密碼”一樣簡單嗎? 這當然不是正確的方法。 有沒有更好的辦法?

編輯此外,在客戶端,用戶自己將能夠使用用戶名/密碼登錄並向服務發起請求(不確定這是否會影響任何內容,所以我想我會提到它),

有關ServiceStack中的身份驗證的更多背景信息, 請參閱此問題

通常,您會對用戶進行身份驗證,而不是您似乎正在執行的客戶端。 但是,如果您試圖鎖定服務,以便只能通過一組特定的客戶端訪問它們,那么您應該考慮將一些PKI用於您的客戶端和服務器。

基本上是這樣的:客戶端在登錄時使用加密版本的用戶:密碼以及嵌入在應用程序中的私鑰發送額外的令牌。 服務器具有客戶端公鑰,因此在登錄時將執行未額外驗證步驟以解密用戶:傳遞令牌並將其與經過驗證的用戶憑據進行比較。

如果PKI解決方案太重,那么不使用加密的替代策略可能是客戶端使用秘密Guid,當他們登錄時將發送Guid的MD5哈希版本和當前時間,以及未發布的版本時間。 如果時間在指定的閾值內且MD5哈希值有效,那么他們使用經過身份驗證的客戶端。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM