java - 带身份验证的 HTTP Get 请求 Android

标签 java android rest stormpath

我正在尝试从我的 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"

我怎样才能把它翻译成安卓?我已经尝试过这样但没有成功:

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 key ID 和密码,并且不应通过移动或 Web 客户端完成。
  • Stormpath Client API 进行不受信任的通信或我们的服务器中间件包之一。

对于 Android 客户端,您不希望使用受信任的 API 凭据进行调用,因为有人可能通过反编译您的应用来窃取它们。相反,您应该在后端服务器上创建一条路由,以对 Stormpath API 进行可信调用,并将该数据中继到您的应用程序。

关于java - 带身份验证的 HTTP Get 请求 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42585978/

相关文章:

java - 如何区分元素?

java - TextView 拒绝更改文本

用于 haskell 中 ECG/EEG 传感器数据的 RESTful 接口(interface)

java - 在不知道其列的情况下将值插入动态 mysql 表

java - 从 Rhino 返回多个值到 Java 调用类

android - 将文件保存在闪存中

java - PUT 不允许 Jersey 路径正则表达式导致方法

rest - 如何使用 Kafka REST 代理删除 Kafka 主题?

java - Hibernate OneToMany List 或 Iterator 不同?

java - 如何使用 JPA 和 Hibernate 复制 INSERT/UPDATE/DELETE 语句