/ / Porozumenie aplikácii Google Developer Console - android, oauth-2.0, cryptography, sha1, youtube-data-api-v3

Pochopenie konzoly pre vývojárov Google - android, oauth-2.0, šifrovanie, sha1, youtube-data-api-v3

Som trochu zmätený, pokiaľ ide o fungovanie konzoly pre vývojárov.

Mám projekt, v ktorom pristupujem k dátam youtube apiv3. Vytvoril som svoj projekt a získal som 4 kľúče:

  1. Kľúč prehliadača
  2. Serverový kľúč
  3. Webový klient OAuth2.0 klient ID tajný kľúč
  4. Kľúč Android

Z toho prvé tri sú automaticky generované službou google. Vygeneroval (a) som android kľúč tým, že dám fingerprint SHA-1 projektu. Mám nasledujúce otázky, ktoré sa mi nezdá odpovedať:

  1. Prečo mám prvé tri automatické generovanie? Nebudem pracovať na backends, takže len z zvedavosti, čo keď klient používa server kľúč namiesto kľúča prehliadača? Každý rozdiel?

  2. Myslím, že SHA-1 sa používa na prácu ako verejný kľúčkryptografie. Záleží len na balíčkovom a vývojovom prostredí? Nepoužil som kľúčový nástroj pre toto, ale urobil som priamo s funkciou SigningReports v štúdiu. Aké sú presne parametre, na ktorých závisí odtlačok prsta? Vytvoril som nový SHA-1 odstránením ladiacej úložiska kľúčov. Študovňa Android automaticky obnovuje ladiaci kľúčový obchod. Taktiež presne funguje táto kryptografia?

  3. Môj kolega iOS je schopný získať prístup aobnovovať tokeny bez tajného kľúča. AFAIK Pre OAuth2.0 musíme získať auth token, použiť ho s ID klienta, tajným kľúčom a kľúčom API, aby ste získali prístup a obnovili token. Ako to robia? Aká je tu úloha tajného kľúča?

  4. Najdôležitejšie: v mojom projekte mám rôzne API KEYS. Jedna v službe google-services.json je iná a iná

youTubePlayerFragment.initialize (API_KEY, nový YouTubePlayer.OnInitializedListener ()

je iný!! Stále to funguje. Ako ??

odpovede:

1 pre odpoveď č. 1

Odpoveď 1:

Rozdiel medzi kľúče servera a prehliadačmi z konzola pre vývojárov

Kľúč servera:

Vytvorte a použite kľúč servera, ak je vaša aplikáciabeží na serveri. Nepoužívajte tento kľúč mimo vášho serverového kódu. Nevkladajte ho napríklad do webovej stránky. Ak chcete zabrániť krádeži kvót, obmedziť kľúč tak, aby boli žiadosti povolené len zo serverových adries IP.

Kľúče prehliadača:

Vytvorte a použite kľúč prehliadača, ak vaša aplikácia beží na klientovi, napríklad na webovom prehliadači. Ak chcete zabrániť tomu, aby sa váš kľúč používal na neautorizovaných stránkach, povoľujte iba odporúčania z domén, ktoré spravujete.

Odpoveď 2:

Bude fungovať aj s funkciou KeyTool a SigningReports.

Odpoveď 4:

Môžete použiť viacero klávesov API a je to možné, keď máte v konzole pre vývojárov Google povolený kľúč api a potom použijete api kľúče vo svojom projekte na projectroot/yourapp/src/debug/AndroidManifest.xml ex:

<!-- 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="******************" />

1 pre odpoveď č. 2

Vaša žiadosť o Youtube sa deje prostredníctvom služby Google PlayService. Do vašej žiadosti vložíte token OAuth2.0 OAuth2.0. Token OAuth2.0 ďalej nesie váš konkrétny typ kľúča Android. K dispozícii sú rôzne kľúče Android Server, prehliadač, Android, IOS atď.

OAuth je priradená k vašej autentifikácii používateľa. Ďalšie služby OAuth a kľúč Android poskytujú službu Google Play - služba Google Play číta informácie v Konzole pre vývojárov Google - a rozhoduje, ktorý konkrétny typ zariadenia (napr. Iso, prehliadač, Android) sa pýta na server Youtube.

Ak sa nachádzate v zariadení so systémom Android, nepotrebujete kľúče prehliadača a servera.

https://developers.google.com/youtube/android/player/register


1 pre odpoveď č. 3

Oprav ma ak sa mýlim.

  1. Kľúč prehliadača: Povedzme, že máte webové stránky a odtiaľto chcete spotrebovať rozhranie API služby YouTube

    Kľúč servera: Povedzme, že si pre svoju aplikáciu a jej vytvoríte vlastnú verziu api musieť spotrebovať Youtube API

    Kľúč Android: Povedzme, že máte aj aplikáciu pre Android, ktorá musí spotrebovať Youtube API

    Každý zákazník API môžete sledovať oddelene pomocou rôznych kľúčov. vy môže sa vymeniť (nie je to isté), ale to bude jednoducho zablokovať sledovanie.

  2. SHA závisí od úložiska kľúčov (debug / signed) a každý systém má jedinečný debug keystore. Môžete si vytvoriť vlastný podpísaný obchod s kľúčovými slovami.

  3. Čo je Access Token vs. Access Token Secret a Consumer Key vs. Consumer Secret Myslím, že sa vzťahuje na všetky oAuth

  4. Aplikácia Youtube API, Google Map API alebo iné API sú nezávislé služby. Musíme ich sledovať oddelene, takže máme rôzne API_KEY na jednu službu na jedného spotrebiteľa (vysvetlené v 1).

Poznámka: Sledovaním mám na mysli kvótu rozhrania API, hity za sekundu atď