从Swift 5实现Netsuite Auth 1.0基于令牌的身份验证
在《邮递员》中它的效果已经足够好了,但当我试图从手机应用程序中复制它时,并没有线索。请任何人帮我完成生成“oauth_签名”的基础知识从Swift 5实现Netsuite Auth 1.0基于令牌的身份验证,swift,Swift,在《邮递员》中它的效果已经足够好了,但当我试图从手机应用程序中复制它时,并没有线索。请任何人帮我完成生成“oauth_签名”的基础知识 但是如果你能在《邮递员》中完成,为什么不让邮递员为你生成代码呢?是的,我也试过了。但我需要生成oauth_签名,这必须从应用程序端开始 let base_url = "https://********.restlets.api.netsuite.com/app/site/hosting/restlet.nl?" let ht
但是如果你能在《邮递员》中完成,为什么不让邮递员为你生成代码呢?是的,我也试过了。但我需要生成oauth_签名,这必须从应用程序端开始
let base_url = "https://********.restlets.api.netsuite.com/app/site/hosting/restlet.nl?"
let http_method = "GET"
let token_id = "**********************************************************"
let token_secret = "**********************************************************"
let consumerkey = "**********************************************************"
let consumer_secret = "**********************************************************"
let SIGNATURE_METHOD = "HMAC-SHA256"
let OAUTH_NONCE = randomString(length: 20)
let TIME_STAMP = String(Date().toMillis() / 1000)
let OAUTH_VERSION = "1.0"
let SCRIPT_DEPLOYMENT_ID = "***"
let SCRIPT_ID = "****"
let REALM = "*****"
print(TIME_STAMP)
var encdata = ""
encdata = encdata + "deploy=" + SCRIPT_DEPLOYMENT_ID + "&"
encdata = encdata + "oauth_consumer_key=" + consumerkey + "&"
encdata = encdata + "oauth_nonce=" + OAUTH_NONCE + "&"
encdata = encdata + "oauth_signature_method=" + SIGNATURE_METHOD + "&"
encdata = encdata + "oauth_timestamp=" + TIME_STAMP + "&"
encdata = encdata + "oauth_token=" + token_id + "&"
encdata = encdata + "oauth_version=" + OAUTH_VERSION + "&"
encdata = encdata + "script=" + SCRIPT_ID
let encodeData = encdata.urlEncoded()!
let completeData = http_method + "&" + base_url.urlEncoded()! + "&" + encodeData
var key = "";
key = consumer_secret.urlEncoded()! + "&" + token_secret.urlEncoded()!
let signature = computeSignature(baseString: completeData, keyString: key)
OAuth = "OAuth realm=\"" + REALM + "\",";
OAuth = OAuth + "oauth_consumer_key=\"" + consumerkey + "\",";
OAuth = OAuth + "oauth_token=\"" + token_id + "\",";
OAuth = OAuth + "oauth_signature_method=\"HMAC-SHA256\",";
OAuth = OAuth + "oauth_timestamp=\"" + TIME_STAMP + "\",";
OAuth = OAuth + "oauth_nonce=\"" + OAUTH_NONCE + "\",";
OAuth = OAuth + "oauth_version=\"" + "1.0" + "\",";
OAuth = OAuth + "oauth_signature=\"" + signature + "\"";