Rus*_*ker 5 android cryptography sha1 oauth-2.0 youtube-data-api
关于开发者控制台功能,我有点困惑.
我有一个项目,我在其中访问youtube数据apiv3.我创建了我的项目并获得了4个键:
除此之外,前三个是由谷歌服务自动生成的.我通过给出项目的SHA-1指纹生成了android密钥.我有以下问题,我似乎没有得到答案:
为什么我会自动生成前三个?我不在后端工作,所以只是出于好奇,如果客户端使用服务器密钥而不是浏览器密钥?有什么区别?
我猜SHA-1习惯像公钥加密一样工作.它仅依赖于包和开发环境吗?我没有使用keytool,但直接使用Studio中的SigningReports功能.指纹所依赖的参数究竟是什么?我通过删除调试密钥库创建了新的SHA-1.Android studio会自动重新生成调试密钥库.这个密码学究竟是如何工作的呢?
我的iOS同事可以在没有密钥的情况下访问和刷新令牌.AFAIK对于OAuth2.0,我们需要获取身份验证令牌,将其与客户端ID,密钥和API密钥一起使用以获取访问权限并刷新令牌.他们如何做到这一点?秘密密钥在这里扮演什么角色?
最重要的是:我的项目中有不同的API KEYS.google-services.json中的一个与众不同
youTubePlayerFragment.initialize(API_KEY,new YouTubePlayer.OnInitializedListener()
是不同的!!它仍然有效.怎么样??
小智 1
答案1:
开发者控制台中服务器密钥和浏览器密钥之间的区别
服务器密钥:
如果您的应用程序在服务器上运行,则创建并使用服务器密钥。不要在服务器代码之外使用此密钥。例如,不要将其嵌入网页中。为了防止配额被盗,请限制您的密钥,以便仅允许来自服务器的源 IP 地址的请求。
浏览器键:
如果您的应用程序在客户端(例如 Web 浏览器)上运行,请创建并使用浏览器密钥。为了防止您的密钥在未经授权的站点上使用,请仅允许来自您管理的域的引用。
答案2:
它也可以与 keytool 和 SigningReports 功能一起使用。
答案4:
您可以使用多个 api 密钥,并且当您在 google 开发者控制台中启用 api 密钥时可以使用多个 api 密钥,然后在您的项目中使用 api 密钥,例如projectroot/yourapp/src/debug/AndroidManifest.xml
:
<!-- Goolge Maps API Key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="******************" />
<!-- Google Places API Key -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="******************" />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
382 次 |
最近记录: |