带身份验证的 HTTP 获取请求 Android
HTTP Get Request with authentification Android
我正在尝试从我的 android 客户端连接到我的 stormpath 身份验证服务器的 REST api。 Stormpath 有一个 java 库,但是我无法获取自定义数据,因此我发现真正获取此数据的唯一方法是调用 REST API.
他们website
他们谈论身份验证并给出一个简单的 linux 命令:
curl --request GET \
--user $SP_API_KEY_ID:$SP_API_KEY_SECRET \
--header 'content-type: application/json' \
--url "https://api.stormpath.com/v1/tenants/current"
我如何将其翻译成 android?我试过这样但没有成功:
try {
URL url = new URL((String) params[1]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
Log.d("DEBUG", "" + output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
完全披露:我在@Stormpath 工作(虽然不是直接在我们的 Android 上工作)。
我们支持两个单独的用例,我们可以更好地记录它们:
- 与 Stormpath REST 的可信通信 API。这需要 Stormpath API 密钥 ID 和秘密,并且应该不 从移动或 Web 客户端完成。
- 与 Stormpath Client API 或我们的服务器中间件包之一的不受信任的通信。
对于 Android 客户端,您不想使用受信任的 API 凭据进行调用,因为有人可以通过反编译您的应用程序来窃取它们。相反,您应该在后端服务器上创建一个路由,以对 Stormpath API 进行可信调用,并将该数据中继到您的应用程序。
我正在尝试从我的 android 客户端连接到我的 stormpath 身份验证服务器的 REST api。 Stormpath 有一个 java 库,但是我无法获取自定义数据,因此我发现真正获取此数据的唯一方法是调用 REST API.
他们website
他们谈论身份验证并给出一个简单的 linux 命令:
curl --request GET \
--user $SP_API_KEY_ID:$SP_API_KEY_SECRET \
--header 'content-type: application/json' \
--url "https://api.stormpath.com/v1/tenants/current"
我如何将其翻译成 android?我试过这样但没有成功:
try {
URL url = new URL((String) params[1]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
Log.d("DEBUG", "" + output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
完全披露:我在@Stormpath 工作(虽然不是直接在我们的 Android 上工作)。
我们支持两个单独的用例,我们可以更好地记录它们:
- 与 Stormpath REST 的可信通信 API。这需要 Stormpath API 密钥 ID 和秘密,并且应该不 从移动或 Web 客户端完成。
- 与 Stormpath Client API 或我们的服务器中间件包之一的不受信任的通信。
对于 Android 客户端,您不想使用受信任的 API 凭据进行调用,因为有人可以通过反编译您的应用程序来窃取它们。相反,您应该在后端服务器上创建一个路由,以对 Stormpath API 进行可信调用,并将该数据中继到您的应用程序。