0

セッションを使用するWebサービスへの認証要求からCookieを取得するにはどうすればよいですか?Webサービスの実装を変更できません。

public static Result authenticate(){
    Form<Login> f = form(Login.class).bind(request().body().asJson());

    Promise<WS.Response> result = WS.url("http://site/login")
        .post("{\"login\":\"login\", \"password\":\"password\"}");

    return async(result.map(
            new Function<WS.Response, Result>() {
                public Result apply(WS.Response response) throws Throwable {
                    if(response.getStatus() == OK){
                        JsonNode jn = response.asJson();
                        session("username", jn.get("login").toString());

                        // how can I get cookies from webservice?

                        return ok(jn);
                    }else{
                        return internalServerError();
                    }
                }
            }
        )
    );
}
4

1 に答える 1

1

ここで答えを見つけました。最初の Web サービス応答には Set-Cookie ヘッダーがあります。

response.getHeader("Set-Cookie");
于 2012-10-23T01:57:54.317 に答える