Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Swift 5实现Netsuite Auth 1.0基于令牌的身份验证_Swift - Fatal编程技术网

从Swift 5实现Netsuite Auth 1.0基于令牌的身份验证

从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_签名”的基础知识


但是如果你能在《邮递员》中完成,为什么不让邮递员为你生成代码呢?是的,我也试过了。但我需要生成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 + "\"";