2

我正在尝试访问使用 node.js 和 passport.js 完成的 express.js api。当 req.use 可用时,某些方法才有效。

我尝试从我的客户端应用程序使用 facebook 和 twitter 登录,我得到了普通的 cookie。

类似 connect.sid=jkbsdkjabdkjasdbjkadnaidiadiasdaoidoa

我用这个方法重新创建了客户端 cookie:

            BasicClientCookie clientCookie = new                BasicClientCookie(Metadata.COOKIE_LOGIN, cookieValue);
    clientCookie.setDomain("www.domain.com");
    clientCookie.setPath("/");
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    clientCookie.setExpiryDate(calendar.getTime());
    return clientCookie;

之后我用这个提出Json请求:

    HttpUriRequest request = method.createRequest(uri);
    request.addHeader("Accept", "application/json");
    HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
    DefaultHttpClient client = new DefaultHttpClient(params);
    client.getCookieStore().addCookie(USER_SESSION_COOKIE);
    HttpResponse response = client.execute(request);
    String serializedJson = EntityUtils.toString(response.getEntity(), HTTP.UTF_8);
    T fromJson = gsonParser.fromJson(serializedJson, clazz);

我无法像往常一样使用用户的快速路线方法。

我知道我做错了什么,但我不知道是什么。

有人在android应用程序和passport.js之间建立了连接吗?

谢谢你们!

4

1 回答 1

0

请参阅此问题以快速了解如何将 OkHttp 与持久性 cookie 存储一起使用。使用 HTTP 库来访问您的 REST API 将使事情变得更容易。

于 2017-01-05T14:13:25.007 回答