It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

OAuth POST fails with oauth_problem=signature_invalid but GET passes Edited

I am facing an issue in my Node Application. While making a POST request to create Issue endpoint, it always fails with oauth_problem=signature_invalid.

But when I make a GET request to other endpoints, it works.

My code:

const fs = require('fs');
const OAuth = require('oauth').OAuth;
const config = require('./config');
var payload = {// ... };

const consumer = new OAuth(
    `${config.baseUrl}/plugins/servlet/oauth/request-token`,
    `${config.baseUrl}/plugins/servlet/oauth/access-token`,
    config.consumerKey,
    fs.readFileSync('./keys/jira_privatekey.pem', 'utf8'),
    "1.0",
    "http://example.com",
    "RSA-SHA1");

consumer.post(`${config.baseUrl}/rest/api/2/issue/`, config.accesToken, config.tokenSecret, payload, (e, data, resp) => {
    console.log(e);
    console.log(data);
});

 

I double checked the URLs, and all of them are correct.

Error:

oauth_problem=signature_invalid

4 answers

0 votes

Hi! 

Please, have a look this knowledge base:

https://confluence.atlassian.com/kb/oauth-error-oauth_problem-signature_invalid-720406720.html

 

Cheers, 

Gonchik Tsymzhitov

Hi,

Please correct me if I am wrong:

Base URL is where my JIRA is hosted. eg: dev.domain.org.com

Following this tutorial, I have set my Application URL to http://example.com

As you can see above in code, I have passed as http://example.com.

 

Am I still missing something? This is a console application, its not behind firewall or nginx proxy.

Application url is node app link. 

Just try to generate under this docs

https://github.com/lakshmi-kannan/jira-oauth-access-token-generator/blob/master/generate_access_token.py

But my node is not hosted anywhere, its a console application. How will I get the node app link?

 

I generated access token using this guide

Nirajmchauhan have you found a solution for this? I am in the exact same position as you?

Like Ben Pearson likes this

Hi Guys, 

Any update on this....Facing the same issue

So one thing that was messing up my consumer connection was that my post body wasn't a string so then in the consumer library it was changing the 'applicaiton/json' type to a different content type and that was why it was failing. 

 

 

SO MAKE SURE YOUR POST_BODY IS A STRING

 

*edit for emphasis

0 votes
keshav I'm New Here Oct 14, 2019

// here 1. post_body in string
// 2. project key
//3. issuetyepe :Not all project in jira have same issue type as Bug. may some project not support issuetype as Bug
// check correct issue type allowed to project.

    var postBody= `{
                     "fields": {
                     "project":{ "key": "PROJECT_KEY_HERE"
                     },
                     "summary": "using JIRA REST API",
                     "description": "Creating of an issue using project keys and issue type names using the REST API", 
                    
  "issuetype": {                              
"name": "Bug"                           
}                      
 }                    
}`;



consumer
.post(`${JiraURL}jira/rest/api/2/issue/`,
          result.oauthAccessToken,
          result.oauthAccessTokenSecret,                            
postBody,
"application/json",             
function (errordata) {
//handle your error and data
});

 

This is late but may helpful to some one.

Hi guys,

 

I dig up an old topic, but today I'm facing exactly the same issue, after having followed this topic: https://developer.atlassian.com/server/jira/platform/oauth/

The symptom is the same: POST fails with 401 error as per the sample provided in the link of above, when I execute a simple requestToken.

Untitled.png

But changing it to GET works, or a kind of as it returns null string:Untitled1.png

I also tried to set up useBodyEncodingForURI to false as described here, but it changed nothing.

What can be the root cause for that ?

Thanks for your help

 

R.

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted in Jira

Demo Den Ep. 7: New Jira Cloud Reports

Learn how to use two new reports for next-gen projects in Jira Cloud:  Cumulative flow diagram and Sprint burndown chart. Ivan Teong, Product Manager, Jira Software, demos the Cumulative ...

334 views 1 3
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you