Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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 });
        }