Error was "nonce_used", with parameters "oauth_problem=nonce_used"

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Problem

After upgrading JIRA 5.x to JIRA 6.x, REST requests are not reaching JIRA.

The following appears in the atlassian-jira.log

1 2015-05-27 14:48:39,500 http-bio-8080-exec-8 WARN anonymous user - 127.0.0.1 /rest/api/2/user[oauth.serviceprovider.internal.AuthenticatorImpl] Problem encountered authenticating OAuth client for url "http://[Server-name]:8080/rest/api/2/user", error was "nonce_used", with parameters "{oauth_problem=nonce_used}"

Diagnosis

  • It may be that your application is re-using parameters or sending the same OAuth request. To confirm each request is using a unique nonce value use a tool such as Fiddler or Charles for inspecting the HTTP requests being sent/received.

Cause

Incoming REST requests using OAuth are signed with a unique nonce string which is a one-time-use unique string to uniquely identify each signed request. By having a unique identifier for each request, the Service Provider is able to prevent requests from being used more than once.

In JIRA 6.0 onwards, OAuth parameters were added to the body of an HTTP POST request. This is further explained on the JIRA Server Developer OAuth page. With every request that triggers a "POST" method using the JIRA REST API, ensure the nonce parameter request is not being reused.

Solution

Workaround

Updated on April 11, 2025

Still need help?

The Atlassian Community is here for you.