multiple changes about Authenticate

revise AuthenticateRequest and AuthenticateResult class definition,
revise Authenticate API call pattern.