繁体   English   中英

如何在使用OAuth时在Android应用上存储'client_secret'和'client_id'?

[英]how to store 'client_secret' and 'client_id' on Android app when using OAuth?

我正在为现有网站开发一个Android应用程序,所以我开发登录部分到一个Android应用程序,我使用oAuth protocol.i有用户数据的API,并从网站生成client_idclient_secret_key 。所以我的问题是。

  • 如何存储此client_idclient_secret (在移动应用程序或任何支持的客户端Web服务中)
  • 当我使用支持的客户端Web应用程序来存储客户端ID和秘密我如何验证用户。

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

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

如果要在应用程序中安全地保存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();
    }
}

https://developer.android.com/reference/java/security/KeyStore.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM