如何使用Twitter的空手道设置oauth 1.0身份验证?

时间:2019-10-31 05:54:22

标签: oauth twitter-oauth karate

我正在使用空手道进行自动化,并且必须使用oauth 1.0身份验证,该身份验证包含4个字段,分别是令牌,令牌密钥,使用者密钥和使用者密钥。空手道我做不到。你能帮我解决这个问题吗?

我曾经尝试使用configure标头选项来实现某些东西,但是没有成功。我没有空手道的经验,我无法尝试其他任何事情。

这就是我放心使用它的方式。我想用空手道实现相同的逻辑。下面是放心的代码;

'''     响应响应=给定().auth()。oauth(consumerKey,     ConsumerSecret,token,tokenSceret)。                 queryParam(“ screen_name”,“ realDonaldTrump”)。                 queryParam(“ count”,1)。                 when()。get(“ / user_timeline.json”)。                 then()。extract()。response(); '''

1 个答案:

答案 0 :(得分:0)

请参考演示:https://github.com/intuit/karate/tree/master/karate-demo

看看OAuth1 example

它要求您执行Java Interop:https://github.com/intuit/karate#calling-java

因此,除非您准备编写one Java class并从Karate中使用它,否则您可以选择寻找其他框架。

如果需要,您还需要引用Twitter API:https://developer.twitter.com/en/docs/basics/authentication/guides/creating-a-signature

这不是空手道内置的,因为它会变得非常特殊。如果需要,请尽一切可能帮助Java的人。

* def Signer = Java.type('com.myco.Signer')    
* def params =
"""
{ 
  'userId': '399645532', 
  'os':'android', 
  'client_key': '3c2cd3f3',
  'token': '141a649988c946ae9b5356049c316c5d-838424771',
  'token_client_salt': 'd340a54c43d5642e21289f7ede858995'
}
"""
* Signer.sign('382700b563f4', params)
* path 'echo'
* form fields params
* method post
* status 200