gpt4 book ai didi

android - 在 Android 上将 OAuth 客户端凭据保存在何处

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:11:44 24 4
gpt4 key购买 nike

我有一个 Android 应用程序,它通过 OAuth 安全性与 WebAPI 进行交互。为了获取访问 token ,我需要在请求的 header 中发送 OAuth 凭据(即客户端 ID 和客户端密码)。我的问题是,我应该将这两个值(客户端 ID 和客户端 secret )保存在哪里,以便应用程序在需要时使用它。目前,我只是在通话中对其进行了硬编码。将这些保存在 strings.xml 文件中是否安全?

最佳答案

隐藏在 BuildConfigs 中

首先,在您的根目录中创建一个文件 apikey.properties,其中包含不同 key 的值:

CONSUMER_KEY=XXXXXXXXXXX

CONSUMER_SECRET=XXXXXXX

为避免这些 key 出现在您的存储库中,请确保通过将文件添加到您的 .gitignore 文件中来排除该文件被 checkin :

apikey.properties

接下来,添加此部分以从您的 app/build.gradle 文件中读取此文件。您还将创建编译时选项,这些选项将通过使用 buildConfigField 定义从该文件生成:

def apikeyPropertiesFile = rootProject.file("apikey.properties")
def apikeyProperties = new Properties()
apikeyProperties.load(new FileInputStream(apikeyPropertiesFile))

android {

defaultConfig {

// should correspond to key/value pairs inside the file
buildConfigField("String", "CONSUMER_KEY", apikeyProperties['CONSUMER_KEY'])
buildConfigField("String", "CONSUMER_SECRET", apikeyProperties['CONSUMER_SECRET'])
}
}

您现在可以使用 Gradle 提供的 BuildConfig 对象在源代码中的任何位置访问这两个字段:

// inside of any of your application's code
String consumerKey = BuildConfig.CONSUMER_KEY;
String consumerSecret = BuildConfig.CONSUMER_SECRET;

关于android - 在 Android 上将 OAuth 客户端凭据保存在何处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36324464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com