using Abp.Extensions; using System.Security.Claims; namespace VberAdmin.Identity; public class ExternalLoginInfoHelper { public static (string name, string surname) GetNameAndSurnameFromClaims(List claims) { string name = null; string surname = null; var givennameClaim = claims.FirstOrDefault(c => c.Type == ClaimTypes.GivenName); if (givennameClaim != null && !givennameClaim.Value.IsNullOrEmpty()) { name = givennameClaim.Value; } var surnameClaim = claims.FirstOrDefault(c => c.Type == ClaimTypes.Surname); if (surnameClaim != null && !surnameClaim.Value.IsNullOrEmpty()) { surname = surnameClaim.Value; } if (name == null || surname == null) { var nameClaim = claims.FirstOrDefault(c => c.Type == ClaimTypes.Name); if (nameClaim != null) { var nameSurName = nameClaim.Value; if (!nameSurName.IsNullOrEmpty()) { var lastSpaceIndex = nameSurName.LastIndexOf(' '); if (lastSpaceIndex < 1 || lastSpaceIndex > (nameSurName.Length - 2)) { name = surname = nameSurName; } else { name = nameSurName.Substring(0, lastSpaceIndex); surname = nameSurName.Substring(lastSpaceIndex); } } } } return (name, surname); } }