我們正在開發一個帶有ASP.NET Web Api 2 REST API的AngularJS單頁應用程序。我們正在使用OWIN中間件和OAuth。Web Api 2&OWIN:針對客戶端授權用戶
我們的系統由客戶端和用戶的:
- 客戶是組織/公司。
- 用戶是這些公司的僱員。 用戶屬於客戶端。
目前,我們使用在每一個控制器的以下檢查:
[Route("api/clients/{clientId}/orders/{orderId}")]
public IHttpActionResult GetOrder(int clientId, int orderId)
{
if(UserComponent.GetUser(User.Identity.Name).ClientId != clientId)
{
return NotFound();
}
// Get order
return Ok(orderModel);
}
參見下面序列的更多細節(參照圖):
獲取的令牌爲用戶(也返回clientId)。
訪問客戶端資源。用戶/客戶端授權:
a。用戶被授權訪問客戶端資源,或者
b。用戶無權訪問客戶端資源。
本質,從客戶端A的用戶應該能夠訪問從客戶B.
什麼是授權對客戶資源的用戶的最佳途徑的資源?
我們可以以某種方式推遲到OWIN(也許通過使用聲明)嗎?
究竟會在哪裏授權碼去? – davenewza 2015-01-21 09:34:09
我編輯了我的答案以提供更多詳細信息。 – 2015-01-21 09:55:05