예제 #1
0
        static TokenAuthenticatedResponce SignResponce(TokenAuthenticatedResponce responce, TokenAuthenticatedRequest request)
        {
            if (responce != null && request != null)
            {
                responce.Token = EncodingTools.Encryption.Encrypt(request.Token, GetConfig().GetCrypto(request.HostID));
            }

            return(responce);
        }
예제 #2
0
            public bool ValidateResponce(TokenAuthenticatedRequest request, TokenAuthenticatedResponce responce)
            {
                if (request == null || responce == null)
                {
                    return(true);    // unsecured messages are valid
                }
                string decodedToken = EncodingTools.Encryption.Decrypt(responce.Token, CryptoCache);

                return(decodedToken == request.Token);
            }
예제 #3
0
        static JsonMessage HandleControllMessage(JsonMessage request, JsonMessageHost.SessionManager sessions)
        {
            if (!ValidateTokenRequest(request as TokenAuthenticatedRequest))
            {
                return(null);
            }

            TokenAuthenticatedResponce responce = null;

            if (request as NodeStatusRequest != null)
            {
                responce = BuildNodeStatus();
            }

            return(SignResponce(responce, request as TokenAuthenticatedRequest));
        }