6 Replies Latest reply on Apr 27, 2017 10:34 AM by Mike Labman

    Could not locate unexpired trusted ticket

    Mike Labman

      I have a very basic ASP.NET/C# web portal that handles logging in a user,  then reaches out to my Tableau server for a ticket, and loads a Viz in an iframe.

       

      It works perfectly well, every time, from within my own network, as well as from a few random other machines in the cloud that I have access to, but my client always gets the infamous "Could not locate unexpired trusted ticket" error.

       

      When I check the Tableau Server httpd logs, we're getting two sequential requests for the same ticket.  AS you can see, first one gets through, second one returns with a 403 error.  And of course the user ends up getting back the 2nd one, not first.

       

      x.x.226.95 - - 2017-04-20 10:34:49.293 Eastern Daylight Time 80 "GET /trusted/aj93_bu1QHiXcsRmrZldmA==:07COwOeUDHxaRg1k8KWm16wt/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.1" "-" 302 - "-" 20001 WPjHCQoAjLcAAAsE8bkAAAEd

      x.x.226.95 - - 2017-04-20 10:34:49.426 Eastern Daylight Time 80 "GET /trusted/aj93_bu1QHiXcsRmrZldmA==:07COwOeUDHxaRg1k8KWm16wt/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.1" "-" 403 1675 "-" 8001 WPjHCQoAjLcAAAsE8boAAAE1


      x.x.226.91 - - 2017-04-19 13:04:51.625 Eastern Daylight Time 80 "GET /trusted/Ul2-5CR7R-GNoUdI5oN85A==:9SncvuTWkMZx9kxR_JEepINV/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.1" "-" 302 - "-" 27001 WPeYswoAjLcAABx4boUAAAEe

      x.x.226.91 - - 2017-04-19 13:04:51.799 Eastern Daylight Time 80 "GET /trusted/Ul2-5CR7R-GNoUdI5oN85A==:9SncvuTWkMZx9kxR_JEepINV/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.0" "-" 403 1675 "-" 42999 WPeYswoAjLcAABx4boYAAAE8

       

      As per Tableau's help page here (Error "Could not locate unexpired trusted ticket" | Tableau Software ) I updated my code to include the client's IP address and I turned on Client IP matching setting.   Still, the same thing occurs.

       

      I've included my very basic c# code for what it's worth.  The .net page just simply has a button called BtnGetTicket and an iframe called TableauTarget1.

       

      Server version is 10.2

       

      --- UPDATE ---

      I have been able to remote desktop to my client's network.   I repeated the procedure of trying to open the ticketed URL.  Through Fiddler logging,  there is only a single request made whereas the httpd log, again shows a 302 message first,  followed by the 403.

       

      --- UPDATE ---

      Internet Explorer works perfectly, sending one request and opening tableau perfectly.   Firefox and Chrome both have the issue.

       

      #ResultProtocolHostURLBodyCachingContent-TypeProcessCommentsCustom
      4403HTTPtbs.mygws.com

      /trusted/Eee4LtNoQi6XTR_SnVn5Hw==:ny7CW0F5xTyxVFj3qGcwODvU/views/Index_Scorecard/Dashboard1?

      :embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no

      1,675no-cache; Expires...text/html;charset=utf-8chrome:22912

       

      Yet,  the httpd log reads:

       

      x.x.226.93 - - 2017-04-27 09:58:12.495 Eastern Daylight Time 80 "GET /trusted/Eee4LtNoQi6XTR_SnVn5Hw==:ny7CW0F5xTyxVFj3qGcwODvU/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.1" "-" 302 - "-" 10000 WQH49AoAjLcAABbchjoAAACc

      x.x.226.93 - - 2017-04-27 09:58:12.798 Eastern Daylight Time 80 "GET /trusted/Eee4LtNoQi6XTR_SnVn5Hw==:ny7CW0F5xTyxVFj3qGcwODvU/views/Index_Scorecard/Dashboard1?:embed=y&:showShareOptions=true&:display_count=no&:showVizHome=no HTTP/1.1" "-" 403 1675 "-" 4000 WQH49AoAjLcAABbchjsAAADc

       

      --- UPDATE ---

      If, instead of loading the Tableau view into an Iframe, if I just perform a redirect to the exact URL, it works in both Firefox and Chrome.  Something about the iframe is causing this duplicated request.  I even tried performing the same identical redirect in the iframe and it still results in the unexpired trusted ticket error.