我在我的新的asp.net核心2.0 API應用程序中使用JWT承載者認證,並且想要爲當前身份添加一些額外的聲明。這個額外的信息位於另一個需要查詢的api中。我的理解是,索賠轉換將是適當的地方做到這一點。在.net核心1.1中,您有Microsoft.AspNetCore.Authentication nuget包中的IClaimsTransformer接口,但我無法在我的.net核心2.0應用程序中安裝此接口。在asp.net核心2.0中有沒有另外一種方法來轉換聲明,這是我用例的正確方法嗎?asp.net核心2.0聲稱轉換支持丟失
1
A
回答
3
還有另一種轉換ASP.NET Core 2.0中的聲明的方法,該方法還允許您訪問UserStore,以便您可以檢索用戶數據並將該信息作爲聲明添加。基本上,您編寫接口IUserClaimsPrincipalFactory的實現,並使用它將您的自定義實現作爲服務添加到Startup.cs中的ConfigureServices方法中。 Core 1.x中Core 2.0的主要變化是Identity依賴於服務的依賴注入,而不是在身份管道中使用中間件。在創建自定義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. AppHarbor - ASP.NET核心支持
- 2. Hg轉換丟失分支
- 3. Asp.Net核心支持HttpCaching Nuget包
- 4. 保持核心動畫轉換持續?
- 5. .net核心:Assert支持C#.NET核心
- 6. asp.net 2.0核心擁有
- 7. 支持庫丟失
- 8. 核心數據支持NSNull
- 9. 核心Polymer 2.0是否支持雙向綁定?
- 10. .NET MVC核心當前的SDK不支持.NET標準2.0
- 11. log4net不支持.Net核心2.0中的AdoNetAppender?
- 12. 核心轉儲聲明
- 13. ASP.NET核心:package.json缺失
- 14. 錯誤的ASP.Net添加新的遷移EF核心2.0核心2.0
- 15. asp.net 2.0核心預覽包還原失敗
- 16. HTTP錯誤404.13 - asp.net核心2.0
- 17. 在asp.net核心2.0中的機器鍵?
- 18. ASP.NET 2.0的核心中間件認證
- 19. ASP.NET 2.0核心應用的WebAPI 16.04
- 20. Asp.Net核心2.0 Webapi簡單認證
- 21. ASP.net核心2.0無法找到services.AddSession();
- 22. Asp.net核心2.0 Razor頁面Ajax後
- 23. Bundle標識符丟失核心數據丟失
- 24. 核心數據丟失實體
- 25. Xcode核心數據模型丟失
- 26. 核心數據丟失的對象
- 27. 核心數據丟失月份
- 28. 核心數據導入丟失字段
- 29. iPhone核心數據丟失實體
- 30. 核心數據丟失記錄iphone
你能否詳細說明如何使用'IUserClaimsPrincipalFactory'在SSO場景? – Liero