google oauth认证与使用youtube的api-3,上市场

上谷狗市场

谷歌市场上包,会检测api密钥,官方的文档有说明,如果你不限制密钥的使用,不让过

https://support.google.com/faqs/answer/9287711

这个页面给出相应的操作提示了.操作完就可以了.

主要是进入它的认证中心,把api的使用限制添加上,比如android/ios这些,然后最好把api也选上就可以了.

上市场遇到的问题

问题总会有的,比如 gcp密钥泄露问题是比较糟糕的.在市场上会有提示的.

GCP API 密钥已泄露

error错误brightness_1安全性

您的应用包含已泄露的 Google Cloud Platform (GCP) API 密钥。如需了解详情

这里是官方文档,告诉我们怎么处理https://support.google.com/faqs/answer/9287711

https://cloud.google.com/docs/authentication/api-keys?sjid=4083464845092995840-NC&hl=zh-cn#android

还是以anddoird为例.

总结就是两个要求,进入凭据里面的api密钥,添加限制,一个是api的限制.一个是应用的限制,应用上添加包名与sha1,然后代码里面添加两个值.

static final String X_ANDROID_PACKAGE = "X-Android-Package";
static final String X_ANDROID_CERT = "X-Android-Cert";

在请求头里面添加这两个值.

public static HttpHeaders getHttpHeader() {
        HttpHeaders httpHeaders = new HttpHeaders();

        httpHeaders.set(X_ANDROID_PACKAGE, androidPackage);
        if (TextUtils.isEmpty(androidCert)) {
            String fp = getFingerprintHashForPackage();
            androidCert = fp;
            Log.d(TAG, "fp:" + fp);
        }
        httpHeaders.set(X_ANDROID_CERT, androidCert);
        return httpHeaders;
    }

    static String getFingerprintHashForPackage() {
        Context context = App.getApp();
        byte[] hash;
        try {
            hash = AndroidUtilsLight.getPackageCertificateHashBytes(context, context.getPackageName());

            if (hash == null) {
                Log.e(TAG, "Could not get fingerprint hash for package: " + context.getPackageName());
                return null;
            }
            return Hex.bytesToStringUppercase(hash, /* zeroTerminated= */ false);
        } catch (PackageManager.NameNotFoundException e) {
            Log.e(TAG, "No such package: " + context.getPackageName(), e);
            return null;
        }
    }

加完之后,还会提示密钥泄露了.

那么我尝试把密钥放到locale.properties里面,这样是从buildconfig.xxkey读取,还是不对,它始终是固定在代码里面的.

那么密钥泄露的意思应该是不能明文写在代码里面了.那我就从服务器里面获取.用接口去获取.然后就成功了.

有人用加密的方式,可能也可以,最重要的应该是不能用静态常量.狗检测能力相当强,会把像素不对,颜色对比度差都检测出报告

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值