Čo je to EVE API kľúč. Kľúčové vlastnosti vlastných kľúčov. Poverenia na vytvorenie

  • 26.04.2019

Pre pohodlie mnohých hráčov vývojári EVE vytvorili rozhranie API pre možnosť prístupu / zverejňovania informácií o účte na iných zdrojoch. Mnoho serióznych spoločností vyžaduje poskytnutie kľúča pred prijatím hráča. V tomto článku sa vám pokúsime povedať, čo je Eve API kľúč, ako ho získať a čo s ním môžete robiť.

Čo je to API kľúč? Ako ho môžem použiť?

API kľúč je súkromný kód, ktorý identifikuje váš účet a umožňuje programy tretích strán a webové stránky na prístup k informáciám o vašich postavách a korporáciách. Pomocou týchto údajov môžu takéto nástroje uľahčiť včasné oznamovanie dôležitých udalostí pre vás, od interakcie s hernými funkciami (predaj / udalosti v kalendári / plány / stav lode atď.) až po interakciu s ostatnými hráčmi.

Je to bezpečné? Môže sa niekto dostať do môjho účtu bez môjho vedomia?

Je to bezpečné, iné stránky a aplikácie môžu pristupovať k informáciám o vašom účte, pokiaľ s tým súhlasíte. Tie. môžeš poprieť daný prístup ak máte pochybnosti o bezpečnosti zdroja, na ktorom ste poskytli svoje informácie. Môžete tiež ovládať, aký druh informácií bude dostupný pre iného používateľa, podľa vami vytvoreného kľúča API.

Použitie kľúča API bráni ľuďom v prístupe k vášmu účtu. To je účelom API kľúčov. Kľúč API vám umožňuje iba prezerať (čítať) údaje o znakoch a spoločnosti. Nebudú môcť vstúpiť do hry, zmeniť si heslo alebo inak hacknúť váš účet.

Toto je jediný bezpečný spôsob, ako poskytnúť programom a webovým stránkam prístup k vašim údajom.

Stále neverím.

Ak si nie ste istí, či je webová stránka alebo program, ktorý požaduje kľúč API, bezpečný, neposkytujte mu svoj kľúč API! Za akékoľvek použitie informácií získaných prostredníctvom funkcie API nesiete výhradnú zodpovednosť.

Dal som niekomu svoj kľúč API a teraz si želám, aby ho nemohli použiť!

Ak si myslíte, že niekto zneužíva váš kľúč API, môžete ho odstrániť zo zoznamu povolených prístupov alebo jednoducho zmeniť overovací kód. Upozorňujeme, že všetky programy a webové stránky, ktoré používajú starý kľúč API, už nebudú mať prístup k údajom, pokiaľ ich neposkytnete nový kľúč s aktualizovanými informáciami.

Aktivitu API vo svojom účte si môžete pozrieť pomocou denníka. Prístup k API Ak si myslíte, že niekto zneužíva niektorý z vašich kľúčov API, zmeňte overovací kód alebo odstráňte kľúč API zo zoznamu vyššie.

Ako vytvorím kľúč Eve API?

  1. Ak chcete vytvoriť kľúč, kliknite na odkaz: https://community.eveonline.com/support/api-key/update
  2. Budete sa musieť prihlásiť. Pred prihlásením venujte pozornosť adrese. Len takouto adresou je adresa OFF stránky webu EVE.
  3. Po autorizácii sa zobrazí okno s nasledujúcimi informáciami:
  • Operácie s peňaženkou
  • Denník operácií s peňaženkou
  • Trhové príkazy
  • Zostatok na účte

komunikácie

  • Chat kanály
  • Texty upozornení
  • Upozornenia
  • Poštové správy
  • Zoznamy adries
  • pošty
  • Kontaktné oznámenie
  • Zoznam kontaktov

Verejné informácie

  • Informácie o postave
  • Súhrnná tabuľka
  • ocenenia
  • Zabiť denník
  • Vojnové štatistiky

Veda a priemysel (Veda a priemysel)

  • Výskum
  • Priemyselná činnosť

Súkromné ​​informácie

  • Záložky
  • Súradnice
  • zmluvy
  • Stav účtu
  • Informácie o postave
  • Kalendár nadchádzajúcich udalostí
  • Rad naučených zručností.
  • Naučené zručnosti
  • Hárok znakov
  • kalendár podujatí
  • Zoznam aktív

Podobne pre Typ kľúča – korporácia... Potom stlačte "submit" a kľúč sa vytvorí. Je pripravený na okamžité použitie.

Kde sa používa tento kľúč?

Často je táto funkcia implementovaná pre korporácie (klanové stránky) a pridať. aplikácia pre EVE svet. To zjednodušuje moment výmeny informácií so Sokorpovtsy.

Pre správne fungovanie všetkých Google aplikácií (služieb) je potrebná autentifikácia, čo znamená získanie jedinečného API kľúča.

Do konca roka 2016 bolo ešte možné využívať také služby ako napr Google Mapy bez použitia kľúča API, ale teraz ho musia získať všetci noví používatelia.

Ak chcete na svoju stránku pridať novú mapu Google, budete potrebovať kľúč API. V dnešnom článku sa bližšie pozrieme na praktické kroky, ktoré musíte urobiť, aby ste získali kľúč API pre Mapy Google.

Získava sa kľúč Google API

Služba Google Developers podporuje mnoho aplikačných programovacích rozhraní (API). Ak chcete na svoje stránky zahrnúť Mapy Google, potrebujete kľúč rozhrania JavaScript API pre Mapy Google.

Poznámka: Google Maps JavaScript API je rozdelené do dvoch tarifných plánov – Standard a Premium. Pre väčšinu lokalít bude fungovať štandardný plán, ktorý zahŕňa voľný prístup až 25 000 stiahnutí (zobrazení) máp za deň. Ak existuje viac ako 25 000 zobrazení a menej ako 100 000 zobrazení, budete musieť zaplatiť približne 0,50 USD za 1 000 ďalších zobrazení. Ak vaša stránka generuje viac ako 100 000 zobrazení máp za deň, potrebujete prémiový plán.

Začnime a pridajte mapu Google na vašu stránku.

Prvým krokom je získanie kľúča API pre Mapy Google. Na to budete potrebovať akýkoľvek účet google záznam(je to zadarmo; ak používate poštu Google Gmail- tak to už máte).

Prihláste sa do svojho účtu Google a prejdite na stránku Google Maps JavaScript API.

Posuňte sa trochu nadol a potom kliknite na veľké modré " Získanie kľúča“ (Získajte kľúč).

Tým sa otvorí formulár lightboxu na vytvorenie kľúča. V rozbaľovacom zozname si môžete vybrať z existujúcich projektov alebo vytvoriť nový. Poďme tvoriť nový projekt, na to musíte vybrať v rozbaľovacom zozname + Vytvorte nový projekt(+ Vytvoriť nový projekt). Zadajte názov projektu, ktorý je pre vás zrozumiteľný, a kliknite na tlačidlo Ďalej(Ďalšie). Ak ide o nový projekt, budete musieť súhlasiť so zmluvnými podmienkami Google, aby ste mohli pokračovať.

O pár sekúnd uvidíte vygenerovaný kľúč API pre Google Maps (bude to súbor čísel a písmen pozostávajúci zo 40 znakov). Skopírujte ho a uložte na dostupné miesto pre neskoršie použitie.

Ochrana kľúča API služby Mapy Google

Ďalším krokom je zlepšenie zabezpečenia vašej novej aplikácie. Ak to chcete urobiť, kliknite na odkaz Konzola API pod poľom s vaším kľúčom API. Otvorí sa nové okno, kde môžete obmedziť používanie vášho API kľúča iba na vašej webovej stránke. To znamená, že kľúč môžete použiť iba vy, čo chráni kľúč pred použitím neoprávneným používateľom (čím šetrí váš rozpočet).

Ak chcete na svojom webe zobraziť mapy, vyberte túto možnosť Zdroje sprostredkovania HTTP (webové stránky).

Nižšie sa otvorí pole na pridanie povolených domén. Pridajte ich do požadovaný formát: * .DOMEN.com / *. Vymeňte DOMAIN.com na vašu doménu.

Hviezdičky a lomky musia byť špecifikované týmto spôsobom (povolíte tým všetky stránky všetkých subdomén vášho webu). Ak potrebujete pridať viacero domén, zadajte ich na nový riadok nižšie, jednu doménu po druhej.

Ako používať kľúč

Ak chcete na svoje stránky pridať Mapu Google, môžete použiť iframe alebo kód JavaScript. V oboch prípadoch budete potrebovať kľúč. Podrobnejšie informácie o pridávaní vašej lokality do Máp Google sú popísané.

Vložte mapu Google s pomocou JavaScriptu vyzerá asi takto:

Vymeňte YOUR_API_KEY za predtým prijatý kľúč a vaša karta by mala fungovať!

V toto dúfame krátka lekcia vám pomôže ľahko vytvoriť kľúč API pre Mapy Google a užite si Mapy Google na svojej webovej lokalite. Neváhajte sa podeliť o svoje myšlienky v komentároch nižšie.

CMS WordPress sa vyznačuje skvelou funkčnosťou a jednoduchou správou. Modulárna konštrukcia stránky alebo blogu výrazne zjednodušuje prácu s textovým obsahom aj funkčnosťou zdroja. Najmä automatická ochrana pred spamovými odkazmi pomocou pluginu Akismet. Vo všetkom najnovšie verzie WordPress plugin je súčasťou CMS, stačí ho povoliť a skontrolovať, či funguje správne. Ak chcete, aby doplnok fungoval, musíte ho získať API kľúč.

Čo je to API kľúč? Jednoducho povedané, API kľúč je akési tajné heslo, ktoré vás identifikuje na konkrétnom zdroji. Spolu s identifikátorom používateľa (ID) umožňuje kľúč API nezainteresovaným programom a zdrojom získavať súkromné ​​informácie o vašej spoločnosti a o vás, používať emailové adresy, geografickú adresu a oveľa viac, ktoré ste uviedli pri registrácii na zdroji. Pomocou takýchto informácií takéto programy pomôžu optimalizovať váš životný priestor v EVE (EVE je váš virtuálny život založený na skutočných faktoroch) poskytovaním rôznych funkcií. Napríklad - export transakcií vo vašom elektronickú peňaženku, všetky druhy upozornení, ako sú upozornenia na spam alebo iné.

API kľúč je v súčasnosti prakticky jediným a najbezpečnejším spôsobom, ako poskytnúť zainteresovaným programom prístup k osobným údajom bez ovplyvnenia alebo otvorenia vášho účtu pre iných používateľov tretích strán. Príjemca informácií si ich môže len prezerať, nie meniť. To znamená, že spammer, ktorý sa rozhodne použiť váš účet na fóre alebo v komentároch, to nebude môcť urobiť, pretože neexistuje žiadny skutočný spôsob, ako reprodukovať vaše heslo alebo osobné údaje pomocou kľúča API.

Pokiaľ ide o doplnok Akismet, získanie kľúča API je nevyhnutné, pretože váš blog bude pravidelne a, bohužiaľ, veľmi často vystavený útokom spamu. Kde môžem získať taký univerzálny kľúč? Ako už bolo spomenuté vyššie, doplnok Akismet je pôvodne zahrnutý v zostave a na správcovskom paneli v ponuke Pluginy sa o jeho existencii dozviete z nasledujúceho obrázka:

Tlačidlo "Zaregistrovať sa" otvorí okno nastavení pluginu. Zadajte svoje údaje do navrhovaných polí a posuňte motor "" doľava, čo znamená, že plugin budete používať zadarmo.

Týmto je vaša registrácia dokončená – tlačidlo „Pokračovať“. Váš osobný API kľúč bude zaslaný na e-mailovú adresu, ktorú ste uviedli. Zadajte tento kľúč do určeného poľa na stránke doplnku a uvidíte nasledujúci výsledok:

Tu môžete skontrolovať nastavenia pripojenia k serveru. Štatistiku antispamu môžete sledovať aj na stránke doplnku:

Teraz, keď vstúpite do administračného panela blogu, uvidíte nasledujúci nápis informujúci o výskyte spamu, ktorý čaká na vaše rozhodnutie o svojom ďalšom osude - schváliť, zmeniť alebo vymazať:

Nedávno spoločnosť Google zmenila spôsob získavania kľúčov API pre mapu Google. Dôvodom je skutočnosť, že Google Maps JavaScript API v2, ktoré bolo predtým zastarané (ako sa ukázalo, už v roku 2010), a teraz vývojári dôrazne odporúčajú používať Google Maps JavaScript API v3 na svojich stránkach. Získanie kľúča pre API je zároveň spojené so značnými ťažkosťami, o ktorých oficiálna dokumentácia google prakticky neexistuje.

Faktom je, že väčšina pluginov, modulov a komponentov Google Mapy pre open-source CMS sa používa len verzia.Pri inštalácii takýchto modulov, pluginov alebo komponentov budete musieť zadať API kľúč. Väčšina vývojárov poskytuje priamy odkaz na získanie kľúča API – http://code.google.com/intl/ru/apis/maps/signup.html. Donedávna bolo všetko jednoduché – stačilo si vytvoriť Google účet alebo sa prihlásiť do existujúceho účtu, zadať názov svojej domény a súhlasiť s podmienkami poskytovania karty Google. Potom systém vydal jedinečný kľúč API pre každú doménu.

V súčasnosti po kliknutí na vyššie uvedený odkaz vidíme nasledovné:

Stručne povedané - uvádza sa, že pre Google Maps JavaScript API v3(ako pre Google Earth API) už nevyžaduje kľúč API a od 19. mája 2010 je oficiálne zastaraný, ale aplikácie používajúce túto verziu budú podporované v súlade s podmienkami podpory starších aplikácií. Je tam aj odkaz na stránku s informáciami o Google Maps JavaScript API v2. Ale tu sú informácie o ako získať kľúč API preGoogle Maps JavaScript API v2č.

V dôsledku korešpondencie s vývojármi Riešenie Google našlo sa. Citujem to nižšie:

1. Musíte prejsť na https://code.google.com/apis/console

2. Prihláste sa do svojho účtu Google alebo sa zaregistrujte nový účet Google

3. Vytvorte projekt (v názve projektu uveďte názov domény, napríklad vasastranka.com)

4. Aktivujte Google Maps JavaScript API v2 a súhlasíte s podmienkami. (extra - zmizol, skúste povoliť Contacts API)

5. Potom dostanete svoj unikát API kľúč pre Google Maps JavaScript API v2. Dá sa pozrieť v sekcii API Access

6. Skopírujte kľúč preGoogle Maps JavaScript API v2a používajte podľa pokynov.

Upozorňujeme, že teraz vytvorte kľúč pre Google Maps JavaScript API v2 je použitých iba 39 znakov (predtým sa používalo 86).

Chcel by som tiež upriamiť vašu pozornosť na skutočnosť, že teraz používanie Google Maps nie je zadarmo. Presnejšie povedané, denne sa bezplatne vykoná iba 25 000 stiahnutí karty, pričom každých ďalších 1 000 stiahnutí kartou bude stáť od 4 do 10 USD. Aktualizácia už stiahnutej mapy sa nepovažuje za stiahnutie mapy. Zároveň je používanie Google Maps na verejne užitočných (podľa Google) stránkach úplne zadarmo.

Ak chcete použiť Geocoding API, musíte získať kľúč API, ktorý potom môžete pridať do svojej mobilnej aplikácie, webovej stránky alebo webového servera. Kľúč API sa používa na sledovanie požiadaviek API spojených s vaším projektom na použitie a fakturáciu. Ak sa chcete dozvedieť viac o kľúčoch API, pozrite si a.

Pripomienka: Ak chcete použiť Geocoding API, musíte získať kľúč API a musíte povoliť fakturáciu. Fakturáciu môžete povoliť, keď získate kľúč API (pozrite si ) alebo ako samostatný proces (pozri). Poznámka: Pred presunom mobilnej aplikácie, webovej stránky alebo webového servera do produkcie sa odporúča zabezpečiť kľúč API pridaním obmedzenia (pozri).

Konzola

Stručný návod

Krok 1: Získajte kľúč API

Kliknutím na tlačidlo nižšie získate kľúč API pomocou. Budete požiadaní, aby ste (1) vybrali jeden alebo viac produktov, (2) vybrali alebo vytvorili projekt a (3) založili fakturačný účet. Po vytvorení kľúča API budete vyzvaní, aby ste obmedzili používanie kľúča. (Viac informácií nájdete v časti.)

Začať

Krok 2: Pridajte do svojej požiadavky kľúč API

Pri načítavaní Geocoding API nahraďte YOUR_API_KEY v kóde nižšie kľúčom API, ktorý ste získali z predchádzajúceho kroku.

Https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key= YOUR_API_KEY

Podrobný návod

Podrobný sprievodca pre zákazníkov s prémiovým plánom

Ak chcete použiť Geocoding API, musíte autentifikovať požiadavky pomocou niektorého z API kľúčov alebo

Výber spôsobu overenia pre vašu aplikáciu

Spôsob overenia, ktorý si vyberiete, závisí od vašej licencie:

  • Zákazníci s týmto môžu použiť kľúč API alebo ID klienta a digitálny podpis.
  • Zákazníci s povinnosťou musia používať ID klienta a digitálny podpis.

Máte prémiový plán alebo predchádzajúcu licenciu?
Ak chcete zistiť, akú licenciu máte:
> Na portáli podpory Google Cloud kliknite na Mapy: Správa o používaní naľavo.
> Má ID v hornej časti prehľadu nasledujúci formát?
gme- [ spoločnosti] & projekt- [ číslo] ([typu])
Ak áno, máte.
Ak nie, máte (Maps API for Work alebo Maps API for Business).

Pri rozhodovaní o tom, ktorú metódu autentifikácie použiť, zvážte nasledovné:

  • Autentifikácia pomocou API kľúča(Licencia Premium Plan)
    Použitím kľúča API na overenie vašich aplikácií môžete:
    • Spravujte všetky svoje rozhrania API v konzole Google Cloud Platform Console.
    • Získajte prístup k údajom o používaní v reálnom čase a historickým údajom o používaní vašej aplikácie za 30 dní v konzole Google Cloud Platform Console.
    • Portál podpory Google Cloud.
  • Autentifikácia pomocou ID klienta a digitálneho podpisu(Prémiový plán alebo predchádzajúca licencia)
    Použitím ID klienta a digitálneho podpisu na overenie vašej aplikácie môžete:
    • Pridajte parameter kanála do požiadaviek, aby ste si mohli pozrieť podrobnejšie správy o používaní.
    • Zobrazte si správy o používaní s údajmi za viac ako 30 dní na portáli podpory Google Cloud.
    • Použite nástroje Maps Analytics pre rozhranie Maps JavaScript API.

Overenie vašej aplikácie pomocou kľúča API

Poznámka: Pre zákazníkov s licenciou Premium Plan.

Ak chcete získať kľúč API a pridať obmedzenia, postupujte podľa týchto krokov:

Overenie vašej aplikácie pomocou ID klienta a digitálneho podpisu

Poznámka: Pre zákazníkov s prémiovým plánom alebo predchádzajúcou licenciou. #! / usr / bin / python # - * - kódovanie: utf-8 - * - "" "Podpíše adresu URL pomocou tajného podpisu adresy URL" "" import hashlib import hmac import base64 import urlparse def sign_url (input_url = Žiadne, tajné = Žiadne): "" "Podpíšte adresu URL žiadosti pomocou tajného podpisu adresy URL. Použitie: z adresy URL importujte sign_url signature_url = sign_url (input_url = moja_url, tajná adresa = SECRET) Args: input_url - URL na podpísanie tajomstva - Vaše tajomstvo podpisu adresy URL sa vráti : Adresa URL podpísanej požiadavky "" "ak nie je input_url alebo nie je tajná: raise Exception ("Vstupná_url aj tajná adresa sú povinné ") url = urlparse.urlparse (input_url) # Potrebujeme iba podpísať cestu + časť dopytu z reťazca url_to_sign = url.path + "?" + url.query # Dekódovať súkromný kľúč do jeho binárneho formátu # Potrebujeme dekódovať súkromný kľúč zakódovaný v URL decoded_key = base64.urlsafe_b64decode (secret) # Vytvorte podpis pomocou súkromného kľúča a reťazca # zakódovaného v URL pomocou HMAC SHA1 ... Tento podpis bude binárny. signature = hmac.new (decoded_key, url_to_sign, hashlib.sha1) # Zakódujte binárny podpis do base64 na použitie v rámci URL encoded_signature = base64.urlsafe_b64encode (signature.digest ()) original_url = url.scheme + ": //" + url.netloc + url.path + "?" + url.query # Vrátiť podpísanú adresu URL return original_url + "& signature =" + encoded_signature if __name__ == "__main__": input_url = raw_input ("URL na podpis:") tajné = raw_input ("URL signing secret:") print " Podpísaná adresa URL: "+ sign_url (input_url, tajná)

Java

Nižšie uvedený príklad používa triedu java.util.Base64 dostupnú od JDK 1.8 – staršie verzie môžu potrebovať používať Apache Commons alebo podobné. (Stiahnite si kód.)

Importovať java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URISyntaxException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.Base64; // Iba JDK 1.8 - staršie verzie môžu potrebovať používať Apache Commons alebo podobné. import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import java.net.URL; import java.io.BufferedReader; import java.io.InputStreamReader; public class UrlSigner (// Poznámka: Vo všeobecnosti by ste mali uložiť svoj súkromný kľúč niekde v bezpečí // a prečítať ho do kódu private static String keyString = "VÁŠ_SÚKROMNÝ_KEY"; // Adresa URL uvedená v týchto príkladoch je statická adresa URL, ktorá by už mala // byť zakódované pre adresu URL. V praxi budete pravdepodobne mať kód //, ktorý zostaví vašu adresu URL zo vstupu používateľa alebo webovej služby // a vloží tieto hodnoty do svojich parametrov.private static String urlString = "VAŠA_URL_TO_SIGN"; // Táto premenná je binárny kľúč, ktorý sa vypočítava z kľúča reťazca (Base64), súkromného statického bajtového kľúča; verejný statický void main (String args) vyvolá IOException, InvalidKeyException, NoSuchAlgorithmException, URISyntaxException (BufferedReader input = new BufferedReader.Reader Input ) ); String inputUrl, inputKey = null; // Na testovacie účely povoľte používateľský vstup pre URL. // Ak nie je zadaný žiadny vstup, použite vyššie definovanú statickú URL. System.out.println („Zadajte URL (musí byť URL-sk kódované) podpísať: "); inputUrl = input.readLine (); if (inputUrl.equals ("")) (inputUrl = urlString;) // Konvertuje reťazec na URL, aby sme ho mohli analyzovať URL url = nová URL (inputUrl); // Na testovacie účely povoľte užívateľský vstup pre súkromný kľúč. // Ak nie je zadaný žiadny vstup, použite statický kľúč definovaný vyššie. System.out.println („Zadajte súkromný kľúč na podpísanie adresy URL:“); inputKey = input.readLine (); if (inputKey.equals ("")) (inputKey = keyString;) UrlSigner signer = new UrlSigner (inputKey); Požiadavka reťazca = signer.signRequest (url.getPath (), url.getQuery ()); System.out.println ("Podpísaná adresa URL:" + url.getProtocol () + ": //" + url.getHost () + žiadosť); ) public UrlSigner (String keyString) vyvolá IOException (// Konvertuje kľúč z "web safe" base 64 na binárny keyString = keyString.replace ("-", "+"); keyString = keyString.replace ("_", " / "); System.out.println (" Key: "+ keyString); // Base64 je len JDK 1.8 - staršie verzie môžu potrebovať použiť Apache Commons alebo podobné.this.key = Base64.getDecoder (). Dekódovať (keyString );) public String signRequest (String cesta, String dotaz) vyvolá NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException, URISyntaxException (// Získanie správnych komponentov URL na podpísanie String resource = cesta + "? "+ dotaz; // Získanie podpisového kľúča HMAC-SHA1 z nespracovaných bajtov kľúča SecretKeySpec sha1Key = new SecretKeySpec (kľúč," HmacSHA1 "); // Získanie inštancie Mac HMAC-SHA1 a jej inicializácia kľúčom Mac HMAC-SHA1 mac = Mac.getInstance ("HmacSHA1"); mac.init (sha1Key); // vypočítajte binárny podpis pre bajt požiadavky sigBytes = mac.doFinal (resource.getBytes ()); // kódovanie binárneho podpisu so základnou 64 / / Base64 je iba JDK 1.8 - staršie verzie môžu potrebovať používať Apache Commons alebo podobné. Podpis reťazca = Base64.getEncoder (). EncodeToString (sigBytes); // prevod podpisu na "webový trezor" base 64 podpis = signature.replace ( "+", "-"); podpis = podpis.nahradit ("/", "_"); vrátiť zdroj + "& podpis =" + podpis;))

Node JS

Nižšie uvedený príklad používa natívne moduly uzla na podpísanie adresy URL. (Stiahnite si kód.)

"použiť prísne" const crypto = vyžadovať ("krypto"); const url = vyžadovať ("url"); / ** * Konvertovať z "web safe" base64 na skutočný base64. * * @param (string) safeEncodedString Kód, ktorý chcete preložiť * z webového bezpečného formulára. * @return (reťazec) * / funkcia removeWebSafe (safeEncodedString) (vrátenie safeEncodedString.replace (/ - / g, "+"). nahradiť (/ _ / g, "/"));) / ** * Konvertovať z true base64 na "web safe" base64 * * @param (string) encodedString Kód, ktorý chcete preložiť do * bezpečného webového formulára. * @return (reťazec) * / funkcia makeWebSafe (encodedString) (return encodedString.replace (/ \ + / g, "-"). nahradiť (/ \ // g, "_");) / ** * Trvá a base64 kód a dekóduje ho. * * @param (reťazcový) kód Kódované údaje. * @return (reťazec) * / funkcia decodeBase64Hash (kód) (// "nový Buffer (...)" je zastaraný. Použite Buffer.from, ak existuje. return Buffer.from? Buffer.from (kód, "base64" ): new Buffer (kód, "base64"));) / ** * Vezme kľúč a podpíše ním dáta. * * @param (reťazcový) kľúč Váš jedinečný tajný kľúč. * @param (string) data Adresa URL, ktorá sa má podpísať. * @return (reťazec) * / funkcia encodeBase64Hash (kľúč, dáta) (return crypto.createHmac ("sha1", kľúč) .update (data) .digest ("base64");) / ** * Podpíšte URL pomocou tajný kľúč. * * @param (reťazec) cesta Adresa URL, ktorú chcete podpísať. * @param (string) secret Váš jedinečný tajný kľúč. * @return (reťazec) * / znak funkcie (cesta, tajomstvo) (const uri = url.parse (cesta); const safeSecret = decodeBase64Hash (removeWebSafe (secret)); const hasshedSignature = makeWebSafe (encodeBase64Hash (safeSecret, uri.path) ); return url.format (uri) + "& podpis =" + hashedSignature;)

C #

Nižšie uvedený príklad používa predvolenú knižnicu System.Security.Cryptography na podpísanie žiadosti o adresu URL. Upozorňujeme, že musíme previesť predvolené kódovanie Base64, aby sme implementovali verziu bezpečnú pre adresy URL. (Stiahnite si kód.)

Používanie systému; pomocou System.Collections.Generic; pomocou System.Security.Cryptography; pomocou System.Text; pomocou System.Text.RegularExpressions; pomocou System.Web; namespace SignUrl (verejná štruktúra GoogleSignedUrl (verejný statický reťazec Sign (adresa URL reťazca, reťazec keyString) (kódovanie ASCIIEncoding = nové kódovanie ASCIIEncoding (); // konverzia kľúča na bajty vyvolá výnimku, najskôr je potrebné nahradiť znaky „-“ a „_“ . string useablePrivateKey = keyString.Replace ("-", "+"). Replace ("_", "/"); byte privateKeyBytes = Convert.FromBase64String (usablePrivateKey); Uri uri = nový Uri (url); byte encodedPathAndQueryBytes = encoding.GetBytes (uri.LocalPath + uri.Query); // vypočítajte hash algoritmus HMACSHA1 = new HMACSHA1 (privateKeyBytes); byte hash = algorithm.ComputeHash (encodedPathAndQueryBytes); // konvertujte podľa bajtov na reťazec nahradenie znakov "+" a "/" reťazec podpis = Convert.ToBase64String (hash) .Nahradiť ("+", "-"). Nahradiť ("/", "_"); // Pridať podpis k existujúcemu identifikátoru URI . return uri.Scheme + ": //" + uri.Host + uri.LocalPath + uri.Query + "& signature =" + signature;)) class Program (static void Main () (// Poznámka: Ge V zásade by ste si mali uložiť svoj súkromný kľúč na bezpečné miesto // a prečítať ho do svojho kódu const string keyString = "VÁŠ_SÚKROMNÝ_KEY"; // Adresa URL uvedená v týchto príkladoch je statická adresa URL, ktorá by už // mala byť zakódovaná. V praxi pravdepodobne budete mať kód //, ktorý zostaví vašu adresu URL zo vstupu používateľa alebo webovej služby // a vloží tieto hodnoty do svojich parametrov. const string urlString = "VAŠA_URL_NA_SIGN"; string inputUrl = null; string inputKey = null; Console.WriteLine („Zadajte adresu URL (musí byť zakódovaná) na podpis:“); inputUrl = Console.ReadLine (); if (inputUrl.Length == 0) (inputUrl = urlString;) Console.WriteLine ("Zadajte súkromný kľúč na podpísanie adresy URL:"); inputKey = Console.ReadLine (); if (inputKey.Length == 0) (inputKey = keyString;) Console.WriteLine (GoogleSignedUrl.Sign (inputUrl, inputKey)); )))

Na účely testovania môžete otestovať nasledujúcu adresu URL a súkromný kľúč, aby ste zistili, či generuje správny podpis. Upozorňujeme, že tento súkromný kľúč slúži výlučne na testovacie účely a nebude overený žiadnou službou Google.

  • URL: https://maps.googleapis.com/maps/api/geocode/json?address=New+York&client= clientID
  • Súkromný kľúč: vNIXE0xscrmjlyV-12Nj_BvUPaw =
  • Časť URL na podpis: / maps / api / geocode / json? address = New + York & client = clientID
  • Podpis: chaRF2hTJKOScPr-RQCEhZbSzIE =
  • Úplná podpísaná adresa URL: https://maps.googleapis.com/maps/api/geocode/json?address=New+York&client= clientID & signature = chaRF2hTJKOScPr-RQCEhZbSzIE =

Príklady v ďalších jazykoch

Príklady, ktoré pokrývajú viac jazykov, sú k dispozícii v projekte podpisovania webových adries.

Viac o vašom súkromnom kryptografickom kľúči

Váš súkromný kryptografický kľúč na podpisovanie adresy URL bude vydaný s vaším ID klienta a ide o „tajný zdieľaný kľúč“ medzi vami a spoločnosťou Google. Tento podpisový kľúč je len váš a je jedinečný pre vaše ID klienta. Z tohto dôvodu majte svoj podpisový kľúč v bezpečí. Tento kľúč by mal nie byť odovzdané v rámci akýchkoľvek žiadostí, uložené na akýchkoľvek webových stránkach alebo zverejnené na akomkoľvek verejnom fóre. Ktokoľvek, kto získa tento podpisový kľúč, môže sfalšovať požiadavky pomocou vašej identity.

Poznámka: Tento súkromný kryptografický podpisový kľúč je nie rovnaké ako kľúče API vydané konzolou Google Cloud Platform Console.

Ak ste stratili svoj súkromný kryptografický kľúč, prihláste sa na portál podpory Google Cloud a kliknite Mapy: Spravujte ID klienta získať ho.

Obmedzenie kľúča API

Google Maps API sú dostupné prostredníctvom webových služieb HTTP, pre webové prehliadače a aplikácie pre Android alebo iOS. Rozhrania API na akejkoľvek platforme môžu používať neobmedzený kľúč API. Do kľúča API môžete voliteľne pridať obmedzenie (napríklad adresy IP). Po obmedzení bude kľúč fungovať iba na platformách, ktoré podporujú tento typ obmedzenia.

Poznámka: Pred presunom aplikácie alebo webu do produkcie sa odporúča zabezpečiť kľúč API pridaním obmedzenia. Ďalšie informácie nájdete v časti Zabezpečenie kľúča API.

Ak chcete pridať obmedzenia do kľúča API, postupujte takto:

Riešenie problémov s autentifikáciou

Ak má vaša požiadavka nesprávny formát alebo obsahuje neplatný podpis, Geocoding API vráti chybu HTTP 403 (zakázané).

Na riešenie problémov s jednotlivými adresami URL môžete použiť nástroj na ladenie podpisovania adries URL. Umožňuje vám rýchlo overiť adresu URL a podpis vygenerovaný vašou aplikáciou.

Zákazníci s prémiovým plánom Google Maps API môžu prípadne riešiť problémy s jednotlivými adresami URL prihlásením sa na portál podpory Google Cloud a výberom možnosti Zdroje> Online nástroje Premium Plan Google Maps API> URL Signing Debugger pre web Rozhrania API služieb a obrázkov.

Ak nie je uvedené inak, obsah tejto stránky je licencovaný v rámci licencie Creative Commons Attribution 3.0 a ukážky kódu sú licencované v rámci licencie Apache 2.0. Podrobnosti nájdete v našom. Java je registrovaná ochranná známka spoločnosti Oracle a/alebo jej pridružených spoločností.