private async Task <AuthenticationResult> Authorize()
        {
            var token = await _deviceInfo.GetPushUri();

            var osName = await _deviceInfo.GetOsName();

            var deviceName = await _deviceInfo.GetDeviceName();

            var request = new AuthenticationRequest {
                UserId = _accountManager.UserId, PushUri = token, OsName = osName, DeviceName = deviceName
            };
            Command requestCmd = _commandBuilder.Create(CommandName.Authentication, request);
            Command replyCmd   = await _transportManager.SendCommandAndGetAnswerAsync(requestCmd);

            var result = _commandBuilder.GetUnderlyingObject <AuthenticationResult>(replyCmd);

            return(result);
        }