public bool CheckSecurity() { if (Username == null) { LoginRequired?.Invoke(this, new LoginEventArg()); //wait logic here } return(CheckAccess()); }
public void Logout() { if (!this.Server.IsConnected) { return; } this.Server.Disconnect(10000, true); ClearStoredToken(); // Сообщаем о том что вновнь нужен логин LoginRequired?.Invoke(this, EventArgs.Empty); }
/// <summary> /// Подключается к серверу с использованием токена аутентификации. /// </summary> /// <param name="host"></param> /// <param name="port"></param> /// <param name="token"></param> /// <param name="acceptSsl"></param> /// <returns></returns> public async Task ConnectToken(string connectionUri, string token) { var loginInfo = new Lers.Networking.TokenAuthenticationInfo(token); try { var uri = new Uri(connectionUri); await this.Server.ConnectAsync(uri, null, loginInfo, CancellationToken.None); } catch (Lers.Networking.AuthorizationFailedException) { // Произошла ошибка аутентификации. Нужно очистить токен и сообщить что требуется логин. ClearStoredToken(); LoginRequired?.Invoke(this, EventArgs.Empty); } }