Swift3 使用Alamofire的OAuth1.0身份验证

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

我在swift3.0项目中使用alamofire进行联网。我需要从woocommerce rest API获取数据,例如 下面是我在项目中添加的代码。我认为存在身份验证问题

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来签署我的请求。