From 1cf1a8f63b2a988f2eb37cadcf8be0444a7a98a8 Mon Sep 17 00:00:00 2001 From: DaN Date: Fri, 19 Jan 2024 15:26:23 -0800 Subject: [PATCH] Comment by DaN on external-claims --- _data/comments/external-claims/3f539b07.yml | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 _data/comments/external-claims/3f539b07.yml diff --git a/_data/comments/external-claims/3f539b07.yml b/_data/comments/external-claims/3f539b07.yml new file mode 100644 index 000000000..0d18f838d --- /dev/null +++ b/_data/comments/external-claims/3f539b07.yml @@ -0,0 +1,51 @@ +id: 3f539b07 +date: 2024-01-19T23:26:21.8691734Z +name: DaN +avatar: https://secure.gravatar.com/avatar/2523ef835f2b054a1d6291bf5f66e688?s=80&d=identicon&r=pg +message: >+ + I have implemented IUserClaimsPrincipalFactory and it seems that there is no need to inject SignInManager. + + + + public async override Task CreateAsync(User user) + + { + + var principal = await base.CreateAsync(user); + + + + if (principal.Identity is ClaimsIdentity claimsIdentity) + + { + + var httpContext = _httpContextAccessor.HttpContext; + + + + if (httpContext != null) + + { + + var auth = await httpContext.AuthenticateAsync(IdentityConstants.ExternalScheme); + + var authClaims = auth.Principal?.Claims; + + if (authClaims != null) + + { + + claimsIdentity.AddClaims(authClaims); + + } + + } + + } + + + + return principal; + + } +