AllReady.Providers.ExternalUserInformationProviders.Providers.MicrosoftAndFacebookExternalUserInformationProvider.GetExternalUserInformation C# (CSharp) Метод

GetExternalUserInformation() публичный Метод

public GetExternalUserInformation ( Microsoft.AspNetCore.Identity.ExternalLoginInfo externalLoginInfo ) : Task
externalLoginInfo Microsoft.AspNetCore.Identity.ExternalLoginInfo
Результат Task
        public Task<ExternalUserInformation> GetExternalUserInformation(ExternalLoginInfo externalLoginInfo)
        {
            var externalUserInformation = new ExternalUserInformation { Email = externalLoginInfo.Principal.FindFirstValue(ClaimTypes.Email) };

            var name = externalLoginInfo.Principal.FindFirstValue(ClaimTypes.Name);
            if (string.IsNullOrEmpty(name))
            {
                return Task.FromResult(externalUserInformation);
            }

            var array = name.Split(' ');
            if (array.Length < 2)
            {
                return Task.FromResult(externalUserInformation);
            }

            externalUserInformation.FirstName = array[0];
            externalUserInformation.LastName = array[1];

            return Task.FromResult(externalUserInformation);
        }
    }

Usage Example

        public async Task ReturnCorrectExternalLoginInfoWhenNameClaimIsNull()
        {
            const string email = "email";

            var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(new[]
            {
                new Claim(ClaimTypes.Email, email)
            }));

            var sut = new MicrosoftAndFacebookExternalUserInformationProvider();
            var result = await sut.GetExternalUserInformation(new ExternalLoginInfo(claimsPrincipal, null, null, null));

            Assert.Equal(result.Email, email);
            Assert.Null(result.FirstName);
            Assert.Null(result.LastName);
        }
All Usage Examples Of AllReady.Providers.ExternalUserInformationProviders.Providers.MicrosoftAndFacebookExternalUserInformationProvider::GetExternalUserInformation
MicrosoftAndFacebookExternalUserInformationProvider