/// <inheritdoc /> public async Task <GetUserByEmailQuery.User> TryCreateDefaultUserAsync(IEnumerable <Claim> userClaims) { var userEmailClaim = userClaims.FirstOrDefault(x => x.Type == UserClaimTypes.Email); if (userEmailClaim != null) { var userEmail = userEmailClaim.Value; var user = await GetUserAsync(userEmail); if (user == null) { user = new GetUserByEmailQuery.User() { Email = userEmail, }; user.Id = await CreateNewUserAsync(new CreateUserCommand() { Email = user.Email, FirstName = userClaims.FirstOrDefault(x => x.Type == UserClaimTypes.GivenName)?.Value, LastName = userClaims.FirstOrDefault(x => x.Type == UserClaimTypes.FamilyName)?.Value }); } return(user); } return(null); }
private IEnumerable <Claim> GetUserAuthorizationClaims(GetUserByEmailQuery.User user) { List <Claim> claims = new List <Claim>(); claims.Add(new Claim(UserClaimTypes.UserId, user.Id.ToString())); return(claims); }