Пример Citrus Framework для oauth - PullRequest
0 голосов
/ 15 октября 2018

Я хотел бы понять, как использовать oAuth для аутентификации служб REST в Citrus Framework.Я ищу примеры.Пожалуйста, поделитесь, если у вас есть.Было бы здорово, если бы вы могли предоставить примеры как для oAuth 1.0, так и для 2.0.

Я использую приведенный ниже фрагмент кода в Rest Assured для аутентификации для службы отдыха,

   String ConsumerKey="yL*************a";
   String ConsumerSecret="Fig*************************aG";
   String Token="1********7-wU*************aNU";
   String TokenSecret="dhmXk******************E";

   public Response response;

   public String baseURL="https://api.twitter.com/1.1/statuses";
   public RequestSpecification requestSpec;

   requestSpec=RestAssured.given().baseUri(baseURL);
   requestSpec.auth().oauth(ConsumerKey, ConsumerSecret, Token, TokenSecret).queryParam("status", "I am tweetiing using rest api");

1 Ответ

0 голосов
/ 16 октября 2018

В Citrus вам нужно добавить заголовки, необходимые для авторизации через свободный API.Это должно выглядеть примерно так, но я не проверял его локально.

        http()
        .client(myClient)
        .send()
        .post("/myOauthEndpoint")
        .header("Authorization",
                "OAuth oauth_callback=\"http%3A%2F%2Flocalhost%2Fsign-in-with-twitter%2F\",\n" +
                "              oauth_consumer_key=\"cChZNFj6T5R0TigYB9yd1w\",\n" +
                "              oauth_nonce=\"ea9ec8429b68d6b77cd5600adbbb0456\",\n" +
                "              oauth_signature=\"F1Li3tvehgcraF8DMJ7OyxO4w9Y%3D\",\n" +
                "              oauth_signature_method=\"HMAC-SHA1\",\n" +
                "              oauth_timestamp=\"1318467427\",\n" +
                "              oauth_version=\"1.0\"");

Информация, которую я использовал, взята с http://oauthbible.com/.

Я бы рекомендовал обернуть генерацию заголовкав функции полезности, как:

    http()
        .client(myClient)
        .send()
        .post("/myOauthEndpoint")
        .header(generateOauthHeader(consumerKey, consumerSecret, token, tokenSecret));
...