私が意図したのは、クレームベースの認証を作成したいということです。しかし、私はLIVEconnectAPIなどのパブリック認証プロバイダーを使用しています。したがって、OAuthベースのデータのみが返されます。
私がサーバーサイドだと思ったら、
1OAuthでデータを取得します。
2それをクレームに変換します。
3現在のプリンシパルを私が作成したクレームに設定します。
STSを作成する必要がありますか?そして、これらの主張を使用してSSOを達成できますか?
私が意図したのは、クレームベースの認証を作成したいということです。しかし、私はLIVEconnectAPIなどのパブリック認証プロバイダーを使用しています。したがって、OAuthベースのデータのみが返されます。
私がサーバーサイドだと思ったら、
1OAuthでデータを取得します。
2それをクレームに変換します。
3現在のプリンシパルを私が作成したクレームに設定します。
STSを作成する必要がありますか?そして、これらの主張を使用してSSOを達成できますか?
そして、彼が実際にそれを実装しているところをここで見てください。
または、 AzureACSでそれを行う方法を示しています。
セキュリティ トークン サービス (STS) を作成するのは、認証ロジックをビジネス ロジックから切り離して、一方がセキュリティ トークンを発行し、もう一方が (または複数の) 2 つの別個のサービス/アプリケーションとして機能するようにする場合です。それらを消費しています。
私には、OAuth (認証を行っている) によって受信されたすべてのデータをクレームに変換する独自の ClaimsAuthenticationManager を実装し、それを使用して ClaimsPrincipal を生成し、それに独自のビジネス ロジックのクレームも追加する必要があるようです => 生成されたセットを設定するプリンシパルを現在のプリンシパルにします。
OAuth に使用しているライブラリによっては、最初のクレーム プリンシパルを作成するものもあり、これを ClaimsAuthenticationManager に取り込んで、独自のクレーム プリンシパルに変換できます。
詳細については、www.leastprivillege.com を参照してください。Dominick は、OAuth とクレーム ベースの認証に関する優れた一連の記事を公開しています。