我建立與OAuth2 authorization
的ASP.NET Web Api
和我工作的地方,我們已經有了一個應用程序:DotnetOpenAuth範圍和要求
- 客戶
- 組織
- 用戶
一客戶擁有一個或多個組織,用戶可以爲一個或多個客戶提供服務。
我想使這個邏輯的範圍和accesstokens的一部分。通過這種方式,我可以限制訪問,但是我也會使用API從應用程序中離開(複雜)邏輯。 (當他們選擇了一個小範圍內)
的範圍
- 組織
- 客戶
- 所有
例如
當應用程序請求與組織 範圍,用戶應該看到補助頁上的兩個下拉框的的accessToken。一到 選擇客戶和第二選擇一個離組織 這個客戶了。
這種方式與範圍組織的accessToken應該僅僅侷限於關閉此單一組織的數據。
什麼是使用DotNetOpenAuth
實現此目的的最佳方法?
我應該添加organisationId和CustomerID作爲示波器到的accessToken?如果我這樣做,我將如何處理'客戶'範圍?我應該添加沒有組織標識的CustomerId嗎? (客戶最多可以有150左右的組織)
理想,我想將其轉化成索賠至極,我可以很容易的使用授權的用戶操作。
我想一些反饋,如果範圍是解決這一問題或一些想法,我怎麼能更好地解決這個問題的正確途徑,而無需重新發明輪子或打破DotNetOpenAuth框架打開。
PS 我建立這兩個AuthorizationServer
和ResourceServer
。
感謝您的回答!問題是一個用戶可以訪問多個組織。在這種情況下,令牌證明用戶授予應用程序訪問特定資源的權限。 – 2013-03-28 11:29:45
是的,但服務器可以檢查是否正確?它不必包含在令牌中。 – 2013-03-28 12:19:08
我一直在想你的解決方案(這就是爲什麼我沒有立即回覆),但我只是不明白這將如何適合。執行授權和身份驗證(並生成令牌)的服務器是不同的服務器/數據庫,然後是API使用的服務器。 API只是期待一個令牌,試圖將令牌轉換爲聲明,這就是說,如果涉及到安全性,所有的API都知道。如果你看看DotNetOpenAuth框架,我也沒有看到'內置'/'好'的方式來保存令牌和令牌可以訪問的內容之間的關係。如果我錯了,請糾正我:) – 2013-03-30 11:21:53