Le funzionalità ARCore come l'API Geospatial e i Cloud Anchor utilizzano l'API ARCore ospitata su Google Cloud. Quando usi queste funzionalità, l'applicazione usa le credenziali per accedere al servizio API ARCore.
Questa guida rapida descrive come configurare la tua applicazione in modo che possa comunicare con il servizio API ARCore ospitato su Google Cloud.
Crea un nuovo progetto Google Cloud o utilizzane uno esistente
Se hai già un progetto, selezionalo.
Se non hai ancora un progetto Google Cloud, creane uno.
Abilita l'API ARCore
Per utilizzare l'API ARCore, devi abilitarla nel tuo progetto.
Configura un metodo di autorizzazione
Un'applicazione iOS può comunicare con l'API ARCore utilizzando due diversi metodi di autorizzazione: Autorizzazione senza chiave, che è il metodo consigliato, e Autorizzazione con chiave API:
- L'autorizzazione senza chiave utilizza un token firmato per controllare l'accesso all'API. Questo metodo richiede che un server di tua proprietà firmi i token e controlli l'accesso all'API.
- Una chiave API è una stringa che identifica un progetto Google Cloud. Generalmente le chiavi API non sono considerate sicure poiché sono accessibili ai client. Valuta la possibilità di utilizzare l'autorizzazione del token per comunicare con l'API ARCore.
Senza chiave
ARCore supporta l'autorizzazione delle chiamate API in iOS utilizzando un token web JSON. Il token deve essere firmato da un account di servizio Google.
Per generare token per iOS, devi avere un endpoint sul server che soddisfi i seguenti requisiti:
Il meccanismo di autorizzazione deve proteggere l'endpoint.
L'endpoint deve generare ogni volta un nuovo token, in modo che:
- Ogni utente riceve un token univoco.
- I token non scadono immediatamente.
Crea un account di servizio e una chiave di firma
Segui questi passaggi per creare un account di servizio Google e una chiave di firma:
- In Google Cloud, apri la pagina Credenziali.
Credenziali - Fai clic su Crea credenziali > Account di servizio.
- In Dettagli account di servizio, digita un nome per il nuovo account e fai clic su Crea.
- Nella pagina Autorizzazioni account di servizio, vai al menu a discesa Seleziona un ruolo. Seleziona Account di servizio > Creatore token account di servizio, quindi fai clic su Continua.
- Nella pagina Concedi agli utenti l'accesso a questo account di servizio, fai clic su Fine.
- Nella pagina Credenziali, individua la sezione Account di servizio e fai clic sul nome dell'account appena creato.
- Nella pagina Dettagli account di servizio, scorri verso il basso fino alla sezione Chiavi e seleziona Aggiungi chiave > Crea nuova chiave.
Seleziona JSON come tipo di chiave e fai clic su Crea.
In questo modo viene scaricato un file JSON contenente la chiave privata sulla tua macchina. Archivia il file di chiave JSON scaricato in un luogo sicuro.
Creare token sul server
Per creare nuovi token (JWT) sul tuo server, utilizza le librerie JWT standard e il file JSON che hai scaricato in modo sicuro dal tuo nuovo account di servizio.
Crea token sulla tua macchina di sviluppo
Per generare JWT sulla tua macchina di sviluppo, utilizza il seguente comando oauth2l
:
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
È necessario specificare una posizione della cache vuota utilizzando il flag --cache
per garantire che ogni volta venga generato un token diverso. Assicurati di tagliare
la stringa risultante. Se sono presenti spazi o caratteri di nuova riga in eccesso, l'API rifiuterà il token.
Firma il token
Per firmare il JWT, devi utilizzare l'algoritmo RS256
e le seguenti attestazioni:
iss
: l'indirizzo email dell'account di servizio.sub
: l'indirizzo email dell'account di servizio.iat
: data e ora di Unix in cui è stato generato il token, in secondi.exp
-iat
+3600
(1 ora). Il periodo di tempo di Unix in cui scade il token, in secondi.aud
: il pubblico. Deve essere impostato suhttps://arcore.googleapis.com/
.
Le attestazioni non standard non sono necessarie nel payload JWT, ma la richiesta uid
potrebbe risultare utile per identificare l'utente corrispondente.
Se utilizzi un approccio diverso per generare i JWT, ad esempio utilizzando un'API Google in un ambiente gestito da Google, assicurati di firmare i JWT con le attestazioni in questa sezione. Innanzitutto, assicurati che il pubblico sia corretto.
Passare il token nella sessione ARCore
Ora la tua app è configurata per utilizzare l'autenticazione senza chiave.
Quando passi un token alla sessione, tieni presente quanto segue:
Se hai utilizzato una chiave API per creare la sessione, ARCore ignorerà il token e registrerà un errore.
Se non ti serve più la chiave API, eliminala in Google Developers Console e rimuovila dall'app.
ARCore ignora i token che contengono spazi o caratteri speciali.
In genere i token scadono dopo un'ora. Se esiste la possibilità che il token scada durante l'uso, ottieni un nuovo token e passalo all'API.
Chiave API
- In Google Cloud, apri la pagina Credenziali.
Credenziali - Fai clic su Crea credenziali, quindi seleziona Chiave API dal menu.
Nella finestra di dialogo della chiave API creata viene visualizzata la stringa per la chiave appena creata. - Consulta la documentazione sulle restrizioni relative alle chiavi API per proteggere la tua chiave API.
Ora la tua app è configurata per utilizzare le chiavi API.
Passaggi successivi
Con l'autorizzazione configurata, controlla le seguenti funzionalità di ARCore che la utilizzano: