public async Task <UserDto> GetUserViaExternalSocialNet(long externalUserId, string email, string externalToken, long expiresIn, SocialType socialType) { Logger.LogInformation($"{nameof(ExternalAuthService)}.{nameof(GetUserViaExternalSocialNet)}.Start Via email from mobile"); NormalizedSocialUserData socialUserData; switch (socialType) { case SocialType.Vk: socialUserData = await VkService.GetUserInfoAsync(externalUserId, email, externalToken, expiresIn); break; case SocialType.Facebook: case SocialType.Twiter: case SocialType.GooglePlus: case SocialType.Telegram: case SocialType.Badoo: case SocialType.Nothing: default: throw new Exception($"We do not support mobile logging via {socialType}."); } var result = await ExternalUserProcessing(socialUserData, socialType); Logger.LogInformation($"{nameof(ExternalAuthService)}.{nameof(GetUserViaExternalSocialNet)}.End Via email from mobile"); return(result); }
public async Task <UserDto> GetUserViaExternalSocialNet(string code, SocialType socialType, bool isTest = false) { Logger.LogInformation($"{nameof(ExternalAuthService)}.{nameof(GetUserViaExternalSocialNet)}.Start via code from web client"); NormalizedSocialUserData socialUserData; switch (socialType) { //socialUserData = await _fbService.GetUserInfoAsync(code); //break; case SocialType.Vk: socialUserData = await VkService.GetUserInfoAsync(code, isTest); break; case SocialType.Facebook: case SocialType.Twiter: case SocialType.GooglePlus: case SocialType.Telegram: case SocialType.Badoo: case SocialType.Nothing: default: throw new Exception($"We do not support logging via {socialType}."); } var result = await ExternalUserProcessing(socialUserData, socialType); Logger.LogInformation($"{nameof(ExternalAuthService)}.{nameof(GetUserViaExternalSocialNet)}.End via code from web client"); return(result); }
public async Task <bool> AddUserSocialAsync(int userId, string code, SocialType socialType) { Logger.LogInformation($"{nameof(AccountService)}.{nameof(AddUserSocialAsync)}.Start"); NormalizedSocialUserData user; switch (socialType) { case SocialType.Facebook: user = await FbService.GetUserInfoAsync(code); break; case SocialType.Vk: user = await VkService.GetUserInfoAsync(code); break; case SocialType.Twiter: case SocialType.GooglePlus: case SocialType.Telegram: case SocialType.Badoo: case SocialType.Nothing: default: throw new Exception("We do not support this social network."); } var social = new SocialEntity { InternalId = userId, ExternalId = user.ExternalId, SocialType = socialType, Email = user.ExternalEmail, ExternalToken = user.ExternalToken, ExpiresIn = user.ExpiresIn }; if (!await Db.Users.AddUserSocialAsync(social)) { return(false); } var userInfo = await Db.UsersInfo.FindUserInfoAsync(userId, userId); if (userInfo.OriginalAvatarUrl.IsNullOrEmpty() || MediaConverter.IsStandardBackground(userInfo.OriginalAvatarUrl) && !user.OriginalPhotoUrl.IsNullOrEmpty()) { userInfo.OriginalAvatarUrl = await UploadAvatarUrlOrGetStandard(user.OriginalPhotoUrl); } var updateUser = new UpdateUserInfoDto { UserId = userInfo.UserId, FristName = userInfo.FirstName, LastName = userInfo.LastName, BirthDate = userInfo.BirthDate, SexType = userInfo.SexType, City = userInfo.City, Description = userInfo.Description }; try { await UpdateUserInfoAsync(updateUser); } catch (Exception e) { Logger.LogError(e, $"{nameof(AccountService)}.{nameof(AddUserSocialAsync)} Error"); } Logger.LogInformation($"{nameof(AccountService)}.{nameof(AddUserSocialAsync)}.End"); return(true); }