Authentication request has expired. Try reloading the page

We are recently seeing a lot of “Authentication request has expired. Try reloading the page.” errors in our atlassian-connect-express backend. The issue has started to appear on the 12th of September.

I have found one way to reproduce the issue:

  1. In a Connect app that configures a content list view page for a custom content type, navigate to that page.
  2. Now continue browsing Confluence for at least 3 minutes, for example by navigating to some pages through the space sidebar.
  3. Now navigate back to the content list view through the space sidebar. The loading spinner will stay until it times out, but on the browser console you can see that accessing the app backend returned a 401 because of an expired JWT token.

It seems that once a content list view page is loaded, a JWT is generated for it and then cached. When the page is opened again without a browser refresh in the meantime, the same JWT is reused, even though it expires after 3 minutes. Confluence should instead generate a new JWT every time the page is opened. It is also not the greatest user experience that the loading spinner keeps spinning even though the backend has returned an error.

This issue does not seem to occur for macros.

6 Likes

Hi @candid,

Thanks for posting your question here. Are you referring to this kind of page

And that it affects any kind of custom content?

If you can create a simple Hello, World app that reproduces this behaviour, can you open an ECOHELP ticket for us and we can investigate further.

Thanks,
James Richards
Senior Developer Support Engineer

Hi James ( @jrichards ) ,

We are also experiencing this kind of issue when the page is left idle for ~10 minutes.

We are using atlassian-connect-express for the app we have developed for Jira. Our app displays some content on a new tab that is added on Activity panel (jiraIssueTabPanels) of issue page, this also allows the user to perform certain actions related to our app.

Errors seen:

  • Unauthorized: Authentication request has expired. Try reloading the page.
  • Unauthorized: Unable to decodeSymmetric JWT token: Error: Signature verification failed for input: <> with method sha256
  • This is shown on app console when hosted from our local machine
    [watch-server] {} Authentication verification error (401): Authentication request has expired. Try reloading the page.
    [watch-server] GET /mydemo-tab?xdm_e=https%3A%2F%2Fmydemoapp.atlassian.net&xdm_c=channel-mydemo-app__my-issue-tab&cp=&xdm_deprecated_addon_key_do_not_use=mydemo-app&lic=none&cv=1001.0.0-SNAPSHOT&jwt=<> 401 9.070 ms - 864

Pre-conditions:

  • App is configured , and all authentication details have been provided that are necessary for validating the user
  • Jira project settings for the app are also done

Steps to reproduce:

  • Navigate to issue page
  • Open the Activity (jiraIssueTabPanels) tab that is used by our app
  • Our app’s content is shown properly
  • Switch to some other Activity (jiraIssueTabPanels) tab
  • Leave the issue page idle for atleast 10 minutes
  • Switch back to the Activity (jiraIssueTabPanels) tab that is used by our app
  • Error can be seen and user is not able to access the data that should have been available on the tab

Can you please suggest a solution ?

Regards,

Vishal

Hi @VishalVaswani,

Thanks for letting us know about this. We are aware of this issue, and it’s documented in

I’ve just added you as a Cc on the ticket. I’m just checking to see if I can make it easier to find. I’m also following up on when the work will be completed.

It’s not related to the Connect code you’re running, but to an issue in the UI.

There’s also a similar issue with Confluence Cloud, but occurs less frequently.

James.

Hi James ( @jrichards ),

Thanks for your reply and for adding me to the thread.

You are requested to please provide a solution for the issue at your earliest as it is affecting the work and productivity of users of our application.

Vishal

Hi @jrichards

Can you please provide an estimate on when a solution for the issue being discussed here can be expected?

Vishal