如何生成签名方法OAuth1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何生成签名方法OAuth1相关的知识,希望对你有一定的参考价值。

我想用OAuth1构建项目,我发现这样的签名请求:

Authorization:
    OAuth oauth_consumer_key="xvz1evFS4wEEPTGEFPHBog",
          oauth_nonce="kYjzVBB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cg",
          oauth_signature="tnnArxj06cWHq44gCs1OSKk%2FjLY%3D",
          oauth_signature_method="HMAC-SHA1",
          oauth_timestamp="1318622958",
          oauth_token="370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb",
          oauth_version="1.0"

但是,我怎么能得到

oauth_signature,oauth_nonce,oauth_timestamp?

没有Postman怎么做?

答案

使用库OAuthSwiftAlamofire

无需手动创建oauth_signature,oauth_nonce和oauth_timestamp。检查示例代码

let oauthswift = self.getAuth1Object()
oauthswift.client.credential.oauthToken = kAuthToken
oauthswift.client.credential.oauthTokenSecret = kAuthTokenSecret
let sessionManager = SessionManager.default
sessionManager.adapter = OAuthSwiftRequestAdapter(oauthswift)
let api =  sessionManager.request(strURL,method: .post, parameters: parameters, encoding: JSONEncoding.default,headers: ["Content-Type" :"application/json"])

这是你的getAuth1Object()

func getAuth1Object() -> OAuth1Swift {
        let oauthswift = OAuth1Swift(
            consumerKey:   "put your consumer key here",
            consumerSecret: "put your consumer secret here",
            requestTokenUrl: "",
            authorizeUrl:    "",
            accessTokenUrl:  ""
        )
        return oauthswift
    }

以上是关于如何生成签名方法OAuth1的主要内容,如果未能解决你的问题,请参考以下文章

使用 OAuth 1.0 生成签名时出现问题

使用带有 RSA-SHA1 的 Twitter joauth 验证 OAuth1a 签名请求?

OAuth 1 在线签名测试器?

如何将生成的 Oauth 1.0 标头用于 GET 请求?

Rails — 签署 OAuth1 请求

如何查看 Postman 在发出 OAuth 请求时使用的原始签名?