当我为我的安卓应用添加Twitter认证时,前往Twitter dev,我惊讶地发现我必须像这样初始化Twitter的
他们正式推荐我将API密钥和API密钥作为纯文本放入我的应用程序中。即使在这个官方示例中,密钥也存储在BuildConfig中。
我正在使用Proguard,但即使如此,我也不能保证决心坚定的黑客无法利用我的API秘密。像Quora这样的已建立的应用程序是否也会公开这些密钥?
有人可以发布一个克服这种漏洞的示例,或者给出一个令人信服的论据,说明Twitter为什么要这样做吗?
相比之下,Google和Facebook只需要我添加AppID,并且我必须对签名证书进行哈希处理,并将哈希链接到各自的应用程序。这比以上安全级别高得多。
Fabric
:import io.fabric.sdk.android.Fabric;
import com.twitter.sdk.android.Twitter;
import com.twitter.sdk.android.core.TwitterAuthConfig;
...
@Override
public void onCreate() {
super.onCreate();
TwitterAuthConfig authConfig =
new TwitterAuthConfig("consumerKey",
"consumerSecret");
Fabric.with(this, new Twitter(authConfig));
}
他们正式推荐我将API密钥和API密钥作为纯文本放入我的应用程序中。即使在这个官方示例中,密钥也存储在BuildConfig中。
我正在使用Proguard,但即使如此,我也不能保证决心坚定的黑客无法利用我的API秘密。像Quora这样的已建立的应用程序是否也会公开这些密钥?
有人可以发布一个克服这种漏洞的示例,或者给出一个令人信服的论据,说明Twitter为什么要这样做吗?
相比之下,Google和Facebook只需要我添加AppID,并且我必须对签名证书进行哈希处理,并将哈希链接到各自的应用程序。这比以上安全级别高得多。