私は新しいasp.net core 2.0 APIアプリケーションでJWT Bearer authを使用していますが、現在のIDに追加のクレームを追加したいと考えています。この追加情報は、問い合わせが必要な別のAPIにあります。私の理解は、クレーム変換がこれを行うための適切な場所であるということです。 .netコア1.1では、Microsoft.AspNetCore.Authentication nugetパッケージにIClaimsTransformerインターフェイスがありますが、これは私の.netコア2.0アプリケーションにはインストールできません。 asp.netコア2.0の主張を変換する別の方法がありますか?これは私のユースケースの正しいアプローチですか?asp.net core 2.0クレーム変換サポートがありません
1
A
答えて
3
ASP.NETコア2.0のクレームを変換するもう1つの方法があります。ユーザーストアにアクセスできるため、ユーザーのデータを取得してその情報をクレームとして追加することができます。基本的には、インターフェイスの実装を記述します.IUserClaimsPrincipalFactoryを使用し、Startup.csのConfigureServicesメソッドでカスタム実装をサービスとして追加するように構成します。コア1.xからのコア2.0の主な変更点は、アイデンティティがIDパイプラインでミドルウェアを使用するのではなく、サービスの依存性注入に依存していることです。カスタムIUserClaimsPrincipalFactoryの作成に関する完全な例と、このblog postの承認にどのように使用するかについての完全な例があります。
1
IClaimsTransformer
は、ASP.NET Core 2.0ではIClaimsTransformation
に変更されました。
とクレーム変換シンプル、新しいIClaimsTransformationサービス、単一の方法:タスクTransformAsync(ClaimsPrincipal 校長)私たちはどんな成功AuthenticateAsyncコールでこれを呼び出します。
services.AddSingleton<IClaimsTransformation, ClaimsTransformer>(); private class ClaimsTransformer : IClaimsTransformation { // Can consume services from DI as needed, including scoped DbContexts public ClaimsTransformer(IHttpContextAccessor httpAccessor) { } public Task<ClaimsPrincipal> TransformAsync(ClaimsPrincipal p) { p.AddIdentity(new ClaimsIdentity()); return Task.FromResult(p); } }
関連する問題
- 1. ASP.NET Core 2:ApplicationInsightsがありません
- 2. VSTS - ASP.NET Core 2.0アプリケーションのビルドに失敗するMicrosoft.Extensions.FileProviders.Physical 2.0.0が互換性がありません
- 3. AppFabricLabsのクレームがありません
- 4. ASP.NET Core 2.0 - ArgumentException:Options.ClientIdを提供する必要があります
- 5. ASP.NET Core MVCはASP.net MVC5と互換性がありますか?
- 6. ASP.NET Core Azureデプロイメントに設定ファイルがありません
- 7. ASP.NET Core MVC MiddlewareFilter例外は意味がありません
- 8. Visual Studio Community Update 3にASP.NET 5/Coreテンプレートがありません
- 9. ASP.NET Core 1.0 ConfigurationBuilder()。AddJsonFile();機能がありません
- 10. ASP.NET Core HttpRequestクラスにはBinaryReadメソッドがありません
- 11. ASP.NET MVC - 「Webアプリケーションに変換」オプションがありません
- 12. ASP.NET Core 2.0のSystem.DirectoryServicesはどこにありますか?
- 13. ASP.Net Core 2.0のAutoMapper
- 14. ASP.NET Core Identity 2.0 SignoutAsync
- 15. IdentityServer4とASP.NET Core 2.0
- 16. ASP.NET Core 2.0リソースaccess_token
- 17. ASP.NET CORE 2.0認証
- 18. ASP.Net Core 2.0のCacheItemRemovedCallback
- 19. Asp.Net Core 2.0 Xunitテスト
- 20. asp.net core 2.0 openidConnectメソッドによるIDPのIDP3への変換
- 21. DataTableをIEnumerableに変換する<T>(ASP.NET Core 2.0)
- 22. wasJmsClient-2.0はejbLite-3.1と互換性がありません
- 23. .NET Core 2.0 xUnitテストがVSTSで見つかりません
- 24. ASP.NET Core 2.0 Web APIテンプレートで個々のユーザーアカウントの認証オプションがありません
- 25. cakephp 2.0コントローラーがありません
- 26. PyCharm 2.0にサブディレクトリがありません
- 27. Spark 2.0 spark implicitsがありません
- 28. ASP.NET Core Angular SpaプロジェクトのGuardのプロバイダはありませんJavaScriptServices
- 29. Asp.Net Core 2.0:レイザービューが文字列IDルートと一致しません
- 30. Asp.Net Core 2.0のカスタム環境
あなたはSSOのシナリオでは、 'IUserClaimsPrincipalFactory'を使用する方法を詳しく説明することはできますか? – Liero