private string GetSessionTicket(ref PwsProjectorServicesClient pwsProjectorServices, string accountCode, string userName, string password) { PwsAuthenticateRs rs = pwsProjectorServices.PwsAuthenticate(new PwsAuthenticateRq() { AccountCode = accountCode, UserName = userName, Password = password }); string sessionTicket = rs.SessionTicket; //if request fails bounce out if (rs.Status != RequestStatus.Ok) { return(null); } //To prevent infinite recursion, only try to reconnect if RedirectUrl is different from current url if (rs.RedirectUrl != null && pwsProjectorServices.Endpoint.Address.Uri.AbsoluteUri.StartsWith(rs.RedirectUrl)) { return(null); } //If a RedirectUrl was returned then your account data is on a different server. Retry with new url. if (rs.RedirectUrl != null) { Uri uri = new Uri(pwsProjectorServices.Endpoint.Address.Uri.ToString()); string newUriText = rs.RedirectUrl + uri.LocalPath; pwsProjectorServices = new PwsProjectorServicesClient("BasicHttpBinding_IPwsProjectorServices", newUriText); string session = GetSessionTicket(ref pwsProjectorServices, accountCode, userName, password); return(session); } return(rs.SessionTicket); }
public string GetSessionTicket() { PwsAuthenticateRs rs = psc.PwsAuthenticate(new PwsAuthenticateRq() { AccountCode = accountCode, UserName = userName, Password = password }); //If request fails bounce out if (rs.Status != RequestStatus.Ok) { return(null); } //To prevent infinite recursion, only try to reconnect if RedirectUrl is different from current url if (rs.RedirectUrl != null && psc.Url.StartsWith(rs.RedirectUrl)) { return(null); } //If a RedirectUrl was returned then account data is on a different server. Retry with new url. if (rs.RedirectUrl != null) { Uri uri = new Uri(psc.Url); psc.Url = rs.RedirectUrl + uri.LocalPath; return(GetSessionTicket()); } return(rs.SessionTicket); }
public bool AuthenticateUser(string accountCode, string userName, string password) { try { authenticationResponse = pwsProjectorServices.PwsAuthenticate(new PwsAuthenticateRq() { AccountCode = accountCode, UserName = userName, Password = password }); //If request fails bounce out; return(authenticationResponse.Status == RequestStatus.Ok && authenticationResponse.SessionTicket != null); } catch (Exception e) { Console.WriteLine(e.StackTrace); return(false); } }
public string GetSessionTicket() { var authenticationRequest = new PwsAuthenticateRq() { AccountCode = accountCode, UserName = userName, Password = password }; PwsAuthenticateRs authenticationResponse = psc.PwsAuthenticate(authenticationRequest); //If request fails bounce out if (authenticationResponse.Status != RequestStatus.Ok) { return(null); } //TODO: Fix retry ////To prevent infinite recursion, only try to reconnect if RedirectUrl is different from current url //if (authenticationResponse.RedirectUrl != null && psc.PwsGetDocumentDetails(new PwsGetDocumentDetailsRq {DocumentIdentity=new PwsDocumentRef() { } }).Document.DocumentUri != null) //{ // return null; //} //if(authenticationResponse.RedirectUrl != null && psc.document) ////If a RedirectUrl was returned then account data is on a different server. Retry with new url. //if (rs.RedirectUrl != null) //{ // Uri uri = new Uri(psc.Url); // psc.Url = rs.RedirectUrl + uri.LocalPath; // return GetSessionTicket(); //} return(authenticationResponse.SessionTicket); }