public override object RequestAction(string action, IDictionary <string, string> query) { if (action == "startOAuth") { var request = _traktService.GetOAuthRequest(query["callbackUrl"]); return(new { OauthUrl = request.Url.ToString() }); } else if (action == "getOAuthToken") { return(new { accessToken = query["access_token"], expires = DateTime.UtcNow.AddSeconds(int.Parse(query["expires_in"])), refreshToken = query["refresh_token"], authUser = _traktService.GetUserName(query["access_token"]) }); } return(new { }); }