/// <summary> /// Mapps UserProfile fields /// </summary> /// <param name="facebookInfo">FacebookInfoModel</param> /// <returns>UserProfile</returns> public static UserProfile Provider(FacebookInfoModel facebookInfo) { if (facebookInfo == null) { return(null); } return(new UserProfile() { Id = facebookInfo.Id, FirstName = facebookInfo.FirstName, LastName = facebookInfo.LastName, Name = facebookInfo.FullName, Email = facebookInfo.Email, Photo = facebookInfo?.Pricture?.Data?.Url, AdditionalInformation = facebookInfo.AdditionalInformation }); }
private async Task <UserProfile> GetProfileFromAccessTokenAsync(FacebookTokensModel tokensModel) { string fields = ReformScopeToFields.Transform(tokensModel.Scope); string url = facebookProperties.GetProfileLink + tokensModel.AccessToken + "&fields=first_name,last_name,name,gender,location,picture" + fields; var response = await _httpClient.GetAsync(url); try { response.EnsureSuccessStatusCode(); } catch (HttpRequestException) { return(null); } string facebookInfoJson = await response.Content.ReadAsStringAsync(); FacebookInfoModel facebookInfo = JsonSerializer.Deserialize <FacebookInfoModel>(facebookInfoJson); return(FacebookUserProfileInfoProvider.Provider(facebookInfo)); }