RE: Issues with TBA Authorization Flow

I’m trying to implement the first step (from in SuiteAnswers) and I keep getting the response of:

{"error" : {"code" : "USER_ERROR", "message" : "Invalid login attempt."}}

I’ve tried it from within Node JS, a Suitelet (EDIT: current implementation) and manually crafting the response with Postman.

Everything has been url encoded, where required.

Signature Details

Base String: "POST&https%3A%2F%2F<account_id><callback_url>%26oauth_consumer_key%3D<consumer_key>%26oauth_nonce%3DWdaFfY%26oauth_signature_method%3DHMAC-SHA256%26oauth_timestamp%3D1571831042%26oauth_version%3D1.0"

Key: "<consumer_secret>"

Authorization Header

OAuth realm="<account_id>_SB1", oauth_callback="<callback_url>", oauth_consumer_key="<consumer_key>", oauth_nonce="WdaFfY", oauth_signature="<signature>", oauth_signature_method="HMAC-SHA256", oauth_timestamp="1571831042", oauth_version="1.0"

Any thoughts on what I’ve potentially gotten wrong?

Daryl Beginner Asked on October 23, 2019 in SuiteScript.
Add Comment
2 Answers

Hey Daryl, use the oauth-1.0a module in Node.JS to help you format your header.  You can take a look at some sample code here (though there’s a lot of other stuff this file is doing too, so you’ll have to peak around):

Also, just a note, this will be pretty hard to do in Node.JS because of Step 2 requiring a redirect URL.  This is the only way you can get the information you need to proceed.  This means you’ll need to run a web server somewhere to receive the callbacks and get the token info if I’m reading the steps correctly (and then that data will have to be forwarded to Node).  It won’t be completely solvable without a web server.

Best of luck with it all in any case 🙂

-Michael Pope

Rookie Answered on October 23, 2019.

Sorry I should have mentioned, my current implementation is in a Suitelet.

on October 23, 2019.

Using this for handling the oauth stuff.

on October 23, 2019.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.