我是新開發API的,並已將ASP.NET web api功能構建到我現有的MVC項目中。我希望客戶能夠發送多個對象實例的JSON,這些對象實例可以保存到我的數據庫中,但是目前該API僅包含框架提供的值模板,我想先解決它現在的安全問題前進充分開發API:授權和驗證ASP.Net web api
[Authorize]
public class ValuesController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
public void Post([FromBody]string value)
{
}
// PUT api/<controller>/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
的授權標籤要求用戶在瞬間登錄我的網站上,我很困惑,我怎麼可能API編程在這種情況下被調用。
我想保護api,客戶端要使用它,必須提供其唯一的API密鑰才能訪問功能。此外,我想使用此API密鑰來確定哪個用戶調用了API,以便我可以僅使用他們的數據對其進行響應。
從早期的起點(僅集成了Web Api功能)中實施這些步驟所涉及的步驟是什麼?
我一直在看,並越來越困惑的HMAC認證,雖然這似乎與我後似乎相當複雜的實現(也許只是因爲我在一個新的領域),我想必須有一種更簡單的方法來實現我想要的?
除了對用戶進行身份驗證之外,還想使用HMAC來驗證數據的完整性嗎?或者你只是想驗證用戶? –
我不確定是否需要我的場景。我有一個用戶可以創建聯繫人和消息的門戶,而API主要是允許其他系統在他們自己創建時在我的系統中創建聯繫人。使用我提供給第三方開發人員的一些密鑰,我覺得驗證足夠了。你會建議什麼? – JonnyKnottsvill
我覺得像這樣可能是足夠的http://stackoverflow.com/questions/11014953/asp-net-web-api-authentication?rq=1 – JonnyKnottsvill