added AuthenticationCallback and AuthenticationContext