| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using Abp.Extensions;
- using System.Security.Claims;
- namespace VberAdmin.Identity;
- public class ExternalLoginInfoHelper
- {
- public static (string name, string surname) GetNameAndSurnameFromClaims(List<Claim> 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);
- }
- }
|