public static OAuthClaimsParser Create(ExternalLoginType externalLoginType, ClaimsIdentity claimsIdentity) { switch (externalLoginType) { case ExternalLoginType.Facebook: return new FacebookOAuthClaimsParser(claimsIdentity); case ExternalLoginType.Google: return new OAuthClaimsParser(claimsIdentity); case ExternalLoginType.Vkontakte: return new VkontakteOAuthCLaimsParser(claimsIdentity); default: throw new ArgumentOutOfRangeException(nameof(externalLoginType), externalLoginType, null); } }
public UserDto GetUserByExtenalLogin(string externalKey, ExternalLoginType externalLoginType) { using (var context = new PicturesDbContext()) { var user = context.Logins.FirstOrDefault( i => i.ExternalUserId == externalKey && i.LoginType == externalLoginType); if (user == null) return null; return user.User.CreateUserDto(user.User.Logins); } }
public async Task<User> CreateExternalUser(string externalUserId, string firstName, string lastName, string photoRec, ExternalLoginType externalLoginType, string email) { var newUser = await _userDataAccess.AddNewUser(new NewUserCommandDto { ExternalLoginId = externalUserId, LoginType = externalLoginType, FirstName = firstName, LastName = lastName, Login = externalUserId, Password = null, PhotoRec = photoRec, Email = email }); return _userDataAccess.GetUserByExtenalLogin(externalUserId, externalLoginType).CreateAccountEntity(); }
public bool ValidateExternalUser(string externalUserId, ExternalLoginType externalLoginType) { var user = _userDataAccess.GetUserByExtenalLogin(externalUserId, externalLoginType); return user != null; }
public User GetExternalUserByLogin(ExternalLoginType provider, string userLogin) { var user = _userDataAccess.GetUserByExtenalLogin(userLogin, provider); return user?.CreateAccountEntity(); }
public bool ValidateExternalUser(string externalUserId, string firstName, string lastName, string photoRec, ExternalLoginType externalLoginType) { var externalUser = _userDataAccess.GetUserByExtenalLogin(externalUserId, externalLoginType); if (externalUser != null) { _userDataAccess.UpdateExternalLoginValues(externalUser, firstName, lastName, photoRec); return true; } return false; }