private void HandleUserLogin( Dictionary<string, object> invokeResult, bool stayLoggedIn ) { HeadersManager.GetInstance() .AddHeader( HeadersEnum.USER_TOKEN_KEY, invokeResult[ HeadersEnum.USER_TOKEN_KEY.Header ].ToString() ); if( CurrentUser == null ) CurrentUser = new BackendlessUser(); CurrentUser.PutProperties( invokeResult ); if( stayLoggedIn ) { LoginStorage loginStorage = new LoginStorage(); loginStorage.UserToken = invokeResult[ HeadersEnum.USER_TOKEN_KEY.Header ].ToString(); loginStorage.UserId = Backendless.UserService.CurrentUser.UserId; loginStorage.SaveData(); } }
public static void InitApp( string applicationId, string secretKey, string version ) { if( string.IsNullOrEmpty( applicationId ) ) throw new ArgumentNullException( ExceptionMessage.NULL_APPLICATION_ID ); if( string.IsNullOrEmpty( secretKey ) ) throw new ArgumentNullException(ExceptionMessage.NULL_SECRET_KEY); if( string.IsNullOrEmpty( version ) ) throw new ArgumentNullException(ExceptionMessage.NULL_VERSION); AppId = applicationId; SecretKey = secretKey; VersionNum = version; Persistence = new PersistenceService(); Data = Persistence; Geo = new GeoService(); Messaging = new MessagingService(); Files = new FileService(); UserService = new UserService(); Events = Events.GetInstance(); Cache = Cache.GetInstance(); Counters = CounterService.GetInstance(); Logging = new LoggingService(); CustomService = new CustomService(); MessageWriter.DefaultWriter = new UnderflowWriter(); MessageWriter.AddAdditionalTypeWriter( typeof( BackendlessUser ), new BackendlessUserWriter() ); ORBConfig.GetInstance().getObjectFactories().AddArgumentObjectFactory( typeof( BackendlessUser ).FullName, new BackendlessUserFactory() ); HeadersManager.CleanHeaders(); LoginStorage loginStorage = new LoginStorage(); if( loginStorage.HasData ) HeadersManager.GetInstance().AddHeader( HeadersEnum.USER_TOKEN_KEY, loginStorage.UserToken ); }
public void Logout( AsyncCallback<object> callback ) { var responder = new AsyncCallback<object>( r => { CurrentUser = null; HeadersManager.GetInstance().RemoveHeader( HeadersEnum.USER_TOKEN_KEY ); LoginStorage loginStorage = new LoginStorage(); loginStorage.DeleteFiles(); if( callback != null ) callback.ResponseHandler.Invoke( null ); }, f => { if( callback != null ) callback.ErrorHandler.Invoke( f ); else throw new BackendlessException( f ); } ); Invoker.InvokeAsync( USER_MANAGER_SERVER_ALIAS, "logout", new object[] { Backendless.AppId, Backendless.VersionNum }, responder ); }
public void Logout() { try { Invoker.InvokeSync<object>( USER_MANAGER_SERVER_ALIAS, "logout", new object[] { Backendless.AppId, Backendless.VersionNum } ); } catch( BackendlessException exception ) { BackendlessFault fault = exception.BackendlessFault; if( fault != null ) { int faultCode = int.Parse( fault.FaultCode ); if( faultCode != 3064 && faultCode != 3091 && faultCode != 3090 && faultCode != 3023 ) throw exception; } } CurrentUser = null; HeadersManager.GetInstance().RemoveHeader( HeadersEnum.USER_TOKEN_KEY ); LoginStorage loginStorage = new LoginStorage(); loginStorage.DeleteFiles(); }
public void IsValidLogin( AsyncCallback<Boolean> callback ) { LoginStorage loginStorage = new LoginStorage(); if( !loginStorage.NewPrefs && loginStorage.UserToken != null && loginStorage.UserToken.Length > 0 ) Invoker.InvokeAsync<Boolean>( USER_MANAGER_SERVER_ALIAS, "isValidUserToken", new object[] { Backendless.AppId, Backendless.VersionNum, loginStorage.UserToken }, callback ); else callback.ResponseHandler( CurrentUser != null ); }
public bool IsValidLogin() { LoginStorage loginStorage = new LoginStorage(); if( !loginStorage.NewPrefs && loginStorage.UserToken != null && loginStorage.UserToken.Length > 0 ) return Invoker.InvokeSync<Boolean>( USER_MANAGER_SERVER_ALIAS, "isValidUserToken", new object[] { Backendless.AppId, Backendless.VersionNum, loginStorage.UserToken } ); else return CurrentUser != null; }
public String LoggedInUserId() { LoginStorage loginStorage = new LoginStorage(); if( loginStorage.NewPrefs ) return null; return loginStorage.UserId; }