私はASP.NET Web Api
withOAuth2 authorization
を構築していて、次のようなアプリケーションに取り組んでいます。
- お客様
- 組織
- ユーザー
顧客には1つ以上の組織があり、ユーザーは1つ以上の顧客の代理を務めることができます。
このロジックをスコープとアクセストークンの一部にしたいと思います。このようにしてアクセスを制限できますが、APIを使用してアプリケーションから(複雑な)ロジックを削除することもできます。(彼らが小さなスコープを選んだとき)
スコープ
- 組織
- お客様
- 全て
例えば
アプリケーションが組織 スコープでアクセストークンを要求すると、ユーザーは付与ページに2つのドロップダウンボックスが表示されます。1つは顧客を選択し、もう1つはこの顧客が所有する組織から1つを選択します。
このように、スコープ組織のアクセストークンは、この単一の組織からのデータのみに制限する必要があります。
これを使用してこれを実現するための最良の方法は何でしょうDotNetOpenAuth
か?
スコープとしてorganisationIdとcustomerIdをアクセストークンに追加する必要がありますか?そして、そうする場合、「顧客」スコープをどのように処理しますか?組織IDなしでCustomerIdを追加する必要がありますか?(顧客は最大約150の組織を持つことができます)
理想的には、これをクレームに変換して、ユーザーのアクションを簡単に承認できるようにします。
スコープがこれを修正する正しい方法である場合、または車輪の再発明やDotNetOpenAuthフレームワークを壊さずに、これをより適切に修正する方法についてのアイデアがあれば、フィードバックをお願いします。
PSAuthorizationServer
私はとの
両方を構築しResourceServer
ます。