2

我按照Nick在从 Android 应用程序对 App Engine 进行身份验证的教程进行操作。

我已经有了令牌。如何使用此令牌在 android webview 中打开 appengine 站点?我的意思是我有 webapp,例如 example.appspot.com,我想在本地 android 部分进行身份验证后在 android webview 中打开它。

这是尼克教程的一部分:

private class GetCookieTask extends AsyncTask<String, Void, Boolean> {
    protected Boolean doInBackground(String... tokens) {
        try {
            // Don't follow redirects
            http_client.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, false);
            HttpGet http_get = new HttpGet("https://example.appspot.com/_ah/login?continue=http://localhost/&auth=" + tokens[0]);
            HttpResponse response;
            response = http_client.execute(http_get);
            if(response.getStatusLine().getStatusCode() != 302)
                // Response should be a redirect
                return false;

            for(Cookie cookie : http_client.getCookieStore().getCookies()) {
                if(cookie.getName().equals("ACSID"))
                    return true;
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            http_client.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
        }
        return false;
    }

    protected void onPostExecute(Boolean result) {
        new AuthenticatedRequestTask().execute("http://example.appspot.com/home");
    }
}
4

0 回答 0