public override bool TryAuthenticate(IServiceBase authService, string userName, string password) { try { var httpRequest = authService.RequestContext.Get <IHttpRequest>(); var partnerId = httpRequest.FormData["affiliatePartner"] ?? string.Empty; if (!_userApi.CheckUserExists(userName)) { _userApi.Create(userName, password, partnerId); } var oAuthAccessToken = _auth.ForUser(HttpUtility.UrlEncode(userName), HttpUtility.UrlEncode(password)); var session = authService.GetSession(); session.IsAuthenticated = true; session.ProviderOAuthAccess = new List <IOAuthTokens> { new OAuthTokens { AccessToken = oAuthAccessToken.Token, AccessTokenSecret = oAuthAccessToken.Secret } }; return(true); } catch (LoginInvalidException ex) { _logger.Info("Login failed", ex); return(false); } }