現在、ユーザーを認証するために独自のSTS(Microsoft WIF)を実装することを検討しています。その過程で、答えることができなかったいくつかの質問が出てきました。
さまざまな種類のアプリケーションを使用して、さまざまな種類のユーザーがいます。各種類のユーザーには、その種類のユーザーと所属するアプリケーションにのみ関連する特別な種類のクレームが必要です。すべてのクライアントを管理しているわけではないことに注意してください。
すべてのユーザーが、ユーザー名とパスワード(.NET MVC3)を使用した単純なhttpsを使用して認証されているとします。ユーザーは、そのタイプ、ユーザー名、およびパスワード(ユーザー名とパスワードだけではない)によって一意に識別されます。したがって、ユーザータイプを区別できるように、ユーザータイプごとにエンドポイントを作成する必要があります。ユーザーが承認すると、ユーザータイプを表すクレームを含むトークンを発行します。これを行うためのより簡単な方法はありますか?ユーザータイプごとにエンドポイントを回避できますか(現在は3つあります)?
次に、私のトークンサービスは、許可されたユーザーのトークンを調べてクレームを変換し、すべてのユーザーのタイプ固有のクレームを含むトークンを発行できます。私が思う複数のエンドポイントを除いて、これまでのところ良いですか?
複数のエンドポイントが必要な場合、エンドポイントごとに1つずつ、異なるメタデータドキュメントも公開する必要がありますか?すべてのクレームの説明を含む1つの大きなメタデータドキュメントがあると、すべてのクレームを必要とするアプリケーションがないため、意味がありません。
アップデート
いくつかの説明。
特定のアプリケーションは、特定のタイプのユーザーのみが使用します。1つのアプリケーションを複数のユーザータイプで使用することはできません。
リクエストの送信元のアプリケーションの種類に応じて、そのユーザーの種類についてユーザー名とパスワードを比較する必要があります。アプリケーションの種類ごとにユーザーストアがあります。そのため、リクエストの送信元のアプリケーションの種類を知る必要があります。ユーザー名とパスワードだけではタイプを解決できません。