Swift3 使用Alamofire的OAuth1.0身份验证
我在swift3.0项目中使用alamofire进行联网。我需要从woocommerce rest API获取数据,例如 下面是我在项目中添加的代码。我认为存在身份验证问题Swift3 使用Alamofire的OAuth1.0身份验证,swift3,alamofire,oauth-1.0a,Swift3,Alamofire,Oauth 1.0a,我在swift3.0项目中使用alamofire进行联网。我需要从woocommerce rest API获取数据,例如 下面是我在项目中添加的代码。我认为存在身份验证问题 let params = ["oauth_consumer_key":consumerKey, "oauth_consumer_secret":consumerSecret, "oauth_timestamp":timeInterval, "oauth_nonce": nonce, "oauth_signature_meth
let params = ["oauth_consumer_key":consumerKey, "oauth_consumer_secret":consumerSecret, "oauth_timestamp":timeInterval, "oauth_nonce": nonce, "oauth_signature_method": "HMAC-SHA1", "oauth_version": "1.0"] as [String : Any];
Alamofire.request(url, parameters: params)
.responseJSON { response in
print(response.request) // original URL request
print(response.response) // HTTP URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
答复:
{
code = "woocommerce_rest_cannot_view";
data = {
status = 401;
};
message = "Sorry, you cannot view this resource.";
}
在浪费了大约2-3天之后,我想出了一个解决方案,那就是添加简单的Php库,由它自己处理所有请求。图书馆:我应该在2-3天前想到这个方向!注意:有问题的代码不是沟通OAuth1API的正确方式。我尝试了许多不同的方法,通过基本url(方法、url和参数)和consumer secrect创建oauth签名,并通过SHA1对它们进行哈希处理。除了php库之外,您是否找到了解决方案?仅仅用阿拉莫菲尔是不可能的吗?因为我也遇到了同样的问题…我不会说这是不可能的,但要找到解决方案并了解您是否朝着正确的方向努力是很困难的,因为这是1.0传统的身份验证方式。我同意,感谢您的回复。我找到了一个解决方案,使用OAuthSwiftAlamofire pod来签署我的请求。