首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NetSuite Oauth实现

NetSuite Oauth实现
EN

Stack Overflow用户
提问于 2013-03-07 20:40:18
回答 6查看 12.5K关注 0票数 7

我正在寻找Netsuite.Does Netsuite中的oauth实现支持oauth?我在NetSuite中搜索了oath实现,但没有得到任何结果。

有没有官方文档说netsuite不支持oauth?

EN

回答 6

Stack Overflow用户

发布于 2016-06-11 04:44:05

NetSuite确实支持oAuth,尽管它的实现方式与其他服务( SuiteTalk、stripe等)非常不同。获取oauth凭证需要用户运行一个不明显的过程,并复制/粘贴四个单独的密钥。我写了一个guide detailing how to setup NetSuite SuiteTalk API with oAuth

票数 4
EN

Stack Overflow用户

发布于 2015-04-02 06:49:20

在15.1中,NetSuite支持使用OAuth 1.0令牌的入站RESTlet调用(请注意,它不是完整的OAuth 1.0协议,尽管它利用了它的令牌和报头格式)。在NetSuite中,您可以通过两种方式获取访问令牌-或者调用令牌端点,或者从UI手动获取。好消息是,如果您计划从node.js或SuiteScript调用RESTlets (例如Suitelets),您仍然可以使用Suitelets 1.0开源库,比如scribe for Java或oauth-1.0a.js。

PS只需为RESTlets寻找基于令牌的身份验证

票数 3
EN

Stack Overflow用户

发布于 2018-08-28 22:07:50

Restlet确实支持OAuth,您可以使用OAuth从外部应用程序调用。为了让它工作,需要配置很多东西,它相当复杂,所以我写了这个逐步指南。Check out the step by step instructions

用于配置签名和报头

Basic代码

代码语言:javascript
运行
复制
var NETSUITE_ACCOUNT_ID = '1234567890_SB'
var BASE_URL = 'https://1234567890_SB.restlets.api.netsuite.com/app/site/hosting/restlet.nl'
var HTTP_METHOD = 'POST'
var SCRIPT_ID = '613'
var OAUTH_VERSION = '1.0';
var SCRIPT_DEPLOYMENT_ID = '1'
var TOKEN_ID = "1234567890abcdefghijklmnopqrstuvwxyz0987654321"
var TOKEN_SECRET = "1234567890abcdefghijklmnopqrstuvwxyz0987654321"
var CONSUMER_KEY = "1234567890abcdefghijklmnopqrstuvwxyz0987654321"
var CONSUMER_SECRET = "1234567890abcdefghijklmnopqrstuvwxyz0987654321"
var text = "";
var length = 32;
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < length; i++) {
text += possible.charAt(Math.floor(Math.random() * possible.length));
}
var OAUTH_NONCE = text;
var TIME_STAMP = Math.round(+new Date() / 1000);
var data = '';
data = data + 'deploy=' + SCRIPT_DEPLOYMENT_ID + '&';
data = data + 'oauth_consumer_key=' + CONSUMER_KEY + '&';
data = data + 'oauth_nonce=' + OAUTH_NONCE + '&';
data = data + 'oauth_signature_method=' + 'HMAC-SHA1' + '&';
data = data + 'oauth_timestamp=' + TIME_STAMP + '&';
data = data + 'oauth_token=' + TOKEN_ID + '&';
data = data + 'oauth_version=' + OAUTH_VERSION + '&';
data = data + 'script=' + SCRIPT_ID;
var encodedData = encodeURIComponent(data);
var completeData = HTTP_METHOD + '&' + encodeURIComponent(BASE_URL) + '&' + encodedData;
var hmacsha1Data = CryptoJS.HmacSHA1(completeData, CONSUMER_SECRET + '&' + TOKEN_SECRET);
var base64EncodedData = Base64.stringify(hmacsha1Data);
var oauth_signature = encodeURIComponent(base64EncodedData);
var OAuth = 'OAuth oauth_signature="' + oauth_signature + '",';
OAuth = OAuth + 'oauth_version="1.0",';
OAuth = OAuth + 'oauth_nonce="' + OAUTH_NONCE + '",';
OAuth = OAuth + 'oauth_signature_method="HMAC-SHA1",';
OAuth = OAuth + 'oauth_consumer_key="' + CONSUMER_KEY + '",';
OAuth = OAuth + 'oauth_token="' + TOKEN_ID + '",';
OAuth = OAuth + 'oauth_timestamp="' + TIME_STAMP + '",';
OAuth = OAuth + 'realm="' + NETSUITE_ACCOUNT_ID + '"';
var request = https.post({
url: BASE_URL + '?script=' + SCRIPT_ID + '&deploy=' + SCRIPT_DEPLOYMENT_ID,
headers: { "Content-Type": "application/json", "Authorization": OAuth },
body: JSON.stringify({ hello: "world" })
})
var response = JSON.parse(request.body)
log.debug('response', response)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15271508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档