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

2 answers

0 votes
Gonchik Tsymzhitov Community Champion Oct 06, 2017

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.

Gonchik Tsymzhitov Community Champion Oct 06, 2017

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?

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

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Sep 18, 2018 in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

22,204 views 2 7
Join discussion

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you