我已經瞭解到OAuth 2.0委派了訪問控制。我想在這裏問一下OAuth2.0客戶端憑據授權流程(http://oauthlib.readthedocs.io/en/latest/oauth2/grants/credentials.html) 。當我讀到這個流程時,它允許客戶端應用程序在目標服務(web api)的控制下(客戶端應用程序擁有的資源)訪問資源。例如,在Google服務的情況下 - 客戶端應用程序可能想要檢索擁有的Blob數據由Google Blob Storage提供。使用OAuth2.0保護Web Api
但我看到有人使用此流程進行客戶端和服務應用程序之間的身份驗證(而非授權)。例如有一個Web API,它爲一些公開的數據提供服務,而不是由特定的客戶端APP擁有。而這項服務只能由少數衆所周知的客戶端應用程序來調用。 (因此,新客戶端應用程序在獲得訪問權之前需要經過適當的入門過程)。
因此,在這種情況下,易於使用OAuth 2.0客戶端憑證流程。或者僅當客戶端應用程序想要訪問自己的資源時才適用。
在HTTPS上實施基本認證(使用DIGEST認證)時,它是否會在發生暴力攻擊時提供保護。說一些代碼嘗試通過嘗試許多不同的用戶名,密碼組合來猜測用戶名,密碼。不知何故,如果它變得正確,它將能夠致電我的服務。是否有任何主要的服務應用程序會阻止這種類型的攻擊。另外我不想要OAuth 2.0,因爲OAuth 2.0的實現不會非常具有可伸縮性,如果客戶需要每隔一段時間調用一次該服務,那麼每次OAuth2.0流程都不會被縮放... –
是否有像每個客戶端一樣的更簡單的解決方案?私鑰和公鑰。服務器將保留所有客戶端的公鑰集合。每當客戶想要發送任何請求時,它都會用自己的私鑰對其進行簽名,然後服務器將不得不使用公鑰對該簽名進行驗證。 –
@GajananKulkarni查看我的回答。 –