src/Newdtek.Master.Web.Core/Identity/ExternalLoginInfoHelper.cs
(完整代码) 1KBusing System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using Abp.Extensions;
namespace Newdtek.Master.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);
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。