public void Login(Guid token) { var loginRequest = new SocketLoginRequest { Token = token, Type = SocketMessageTypes.LogInRequest }; try { _webSocket.Send(JsonConvert.SerializeObject(loginRequest)); } catch (Exception ex) { Failed(ex.Message); } }
private async void AddSession(WebSocket socket, SocketLoginRequest request) { var token = _context.SocketTokens.Where(st => st.Id == request.Token).FirstOrDefault(); if (token == null || token.ExpirationDate <= DateTime.UtcNow) { await SendMessageAsync(socket, new BaseMessage { Type = SocketMessageTypes.TokenNotValid }); return; } if (!_userSessions.ContainsKey(token.UserId)) { _userSessions.TryAdd(token.UserId, new HashSet <string>()); } _userSessions[token.UserId].Add(WebSocketConnectionManager.GetId(socket)); await SendMessageAsync(socket, new BaseMessage { Type = SocketMessageTypes.SuccessfullyAuthorized }); }