我按照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");
}
}