Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何存储';客户机密';和';客户id';在Android应用程序上使用OAuth时?_Php_Android_Laravel_Oauth - Fatal编程技术网

Php 如何存储';客户机密';和';客户id';在Android应用程序上使用OAuth时?

Php 如何存储';客户机密';和';客户id';在Android应用程序上使用OAuth时?,php,android,laravel,oauth,Php,Android,Laravel,Oauth,我正在为现有网站开发一个android应用程序,因此我开发了一个android应用程序的登录部分,并使用oAuth协议。我有用户数据的API,并从网站生成客户端id和客户端密匙 如何存储此客户端id和客户端机密(在移动应用程序或任何支持的客户端web服务中) 当我使用备份客户端web应用程序存储客户端id和我如何验证用户身份的秘密时 该网站建立在larevel php框架上。要回答第一个问题,请使用共享首选项。共享首选项允许您以键、值对的形式保存和检索数据。 第二个问题,阅读共享首选项并将结

我正在为现有网站开发一个android应用程序,因此我开发了一个android应用程序的登录部分,并使用oAuth协议。我有用户数据的API,并从网站生成
客户端id
客户端密匙

  • 如何存储此
    客户端id
    客户端机密
    (在移动应用程序或任何支持的客户端web服务中)
  • 当我使用备份客户端web应用程序存储客户端id和我如何验证用户身份的秘密时

该网站建立在larevel php框架上。

要回答第一个问题,请使用共享首选项。共享首选项允许您以键、值对的形式保存和检索数据。
第二个问题,阅读共享首选项并将结果发送回web服务器。检查是否存在数据,然后获取值,对其进行验证并相应地传输。我建议您使用这个很棒的库作为问题的奖励。2.

要回答您的第一个问题,请使用共享首选项。共享首选项允许您以键、值对的形式保存和检索数据。
第二个问题,阅读共享首选项并将结果发送回web服务器。检查是否存在数据,然后获取值,对其进行验证并相应地传输。我建议您使用这个很棒的库作为问题的奖励。2.

如果您想在应用程序中安全地保存id,可以使用密钥库

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

// get user password and file input stream
char[] password = getPassword();

java.io.FileInputStream fis = null;
try {
    fis = new java.io.FileInputStream("keyStoreName");
    ks.load(fis, password);
} finally {
    if (fis != null) {
        fis.close();
    }
}

如果要在应用程序中安全地保存id,可以使用密钥库

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

// get user password and file input stream
char[] password = getPassword();

java.io.FileInputStream fis = null;
try {
    fis = new java.io.FileInputStream("keyStoreName");
    ks.load(fis, password);
} finally {
    if (fis != null) {
        fis.close();
    }
}

为什么不使用string.xml保存数据?不,这不是一种安全的方法。。现在使用备份的web客户端来存储数据。但问题是我对它的工作原理没有正确的认识。为什么不使用string.xml来保存数据呢?不,这不是一种安全的方法。。现在使用备份的web客户端来存储数据。但问题是我对它的工作方式没有正确的想法。谢谢你的帮助。我指的是。共享首选项是存储有价值数据的非常安全的方法吗?。不知道使用另一个后端客户端来存储客户端id和其他东西。什么?我没有得到最后一部分。我的意思是把这些数据存储在另一个网站和应用程序与该Web应用程序的通信,并交换令牌。你考虑使用本地存储吗?谢谢你的帮助。我指的是……共享偏好是非常有价值的方法来存储有价值的数据吗?不知道使用另一个后端客户端存储客户ID和其他事情,什么?我没有得到最后一部分。我的意思是把这些数据存储在另一个网站和应用程序与该Web应用程序的通信,并交换令牌。你考虑使用本地存储吗?@ Michal谢谢你的宝贵意见。我会参考。这是非常安全的方式来存储数据。任何人都可以解码APK和可以得到的文件。没有任何想法。使用另一个后端web客户端?这与用于保护play store上的应用程序不被模拟的机制相同。如果它不安全,那将是一个严重的问题。它是加密的。即使他们有密钥库,他们仍然需要密码。密码未保存在应用程序中。@Michal感谢您的宝贵意见,我将参考它。这是存储数据的非常安全的方式。任何人都可以解码apk并轻松获取文件。不知道如何使用另一个后端web客户端?这与保护play store上的应用程序不被模仿的机制相同。如果它不安全,那将是一个严重的问题。它是加密的。即使他们有密钥库,他们仍然需要密码。密码未保存在应用程序中。