用于oauth的Citrus Framework示例

时间:2018-10-15 16:47:20

标签: oauth oauth-2.0 citrus-framework

我想了解如何使用oAuth对Citrus Framework中的REST服务进行身份验证。我在找例子。如果有,请分享。如果您能同时提供oAuth 1.0和2.0的示例,那就太好了。

我使用Rest Restured中的以下代码对身份验证服务进行身份验证,

child(X,Y) :- parent(Y,X).
not(P):- call(P), !, fail.
not(P).

ancestor(X,Y):- parent(X,Y).
ancestor(X,Y):- parent(Z,Y), ancestor(X,Z).

common_ancestor(X,Y,Z):- ancestor(X,Y), ancestor(X,Z).

closest_common_ancestor(X,Y,Z):-
    common_ancestor(X,Y,Z),
    \+(child(P,X),common_ancestor(P,Y,Z)).
ancestorList(X,Y,L):- ancestor(X,Y), 

1 个答案:

答案 0 :(得分:0)

在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));