Funkcje ARCore, takie jak Geospatial API i Cloud Anchors, korzystają z interfejsu ARCore API hostowanego w Google Cloud. Gdy korzystasz z tych funkcji, aplikacja używa danych logowania, aby uzyskać dostęp do usługi ARCore API.
Z tego przewodnika dowiesz się, jak skonfigurować aplikację, aby mogła komunikować się z usługą ARCore API hostowaną w Google Cloud.
Tworzenie nowego projektu Google Cloud lub używanie istniejącego
Jeśli masz już projekt, wybierz go.
Jeśli nie masz jeszcze projektu w chmurze Google Cloud, utwórz go.
Włączanie interfejsu ARCore API
Aby korzystać z interfejsu ARCore API, musisz go włączyć w swoim projekcie.
Włączanie interfejsu ARCore API
Konfigurowanie metody autoryzacji
Aplikacja na iOS może komunikować się z interfejsem ARCore API za pomocą 2 różnych metod autoryzacji: autoryzacji bez klucza (zalecana metoda) i autoryzacji za pomocą klucza interfejsu API:
- Autoryzacja bez klucza wykorzystuje token podpisany w celu kontrolowania dostępu do interfejsu API. Ta metoda wymaga, aby serwer należący do Ciebie podpisywał tokeny i kontrolował dostęp do interfejsu API.
- Klucz interfejsu API to ciąg znaków, który identyfikuje projekt w chmurze Google. Klucze API nie są zwykle uważane za bezpieczne, ponieważ są zazwyczaj dostępne dla klientów. Do komunikacji z interfejsem ARCore API używaj autoryzacji za pomocą tokena.
Bezkluczykowy
ARCore obsługuje autoryzację wywołań interfejsu API w iOS za pomocą tokena sieciowego JSON. Token musi być podpisany przez konto usługi Google.
Aby generować tokeny na potrzeby iOS, musisz mieć na serwerze punkt końcowy, który spełnia te wymagania:
Punkt końcowy musi być chroniony przez Twój mechanizm autoryzacji.
Punkt końcowy musi generować nowy token za każdym razem, gdy:
- Każdy użytkownik otrzymuje unikalny token.
- Tokeny nie wygasają natychmiast.
Tworzenie konta usługi i klucza podpisywania
Aby utworzyć konto usługi Google i klucz podpisywania, wykonaj te czynności:
- W Google Cloud otwórz stronę Dane logowania.
Dane logowania - Kliknij Utwórz dane logowania > Konto usługi.
- W sekcji Szczegóły konta usługi wpisz nazwę nowego konta, a następnie kliknij Utwórz.
- Na stronie Uprawnienia konta usługi otwórz menu Wybierz rolę. Kliknij Konta usługi > Twórca tokenów konta usługi, a potem kliknij Dalej.
- Na stronie Przyznaj użytkownikom dostęp do tego konta usługi kliknij Gotowe.
- Na stronie Dane logowania znajdź sekcję Konta usługi i kliknij nazwę utworzonego przed chwilą konta.
- Na stronie Szczegóły konta usługi przewiń w dół do sekcji Klucze i wybierz Dodaj klucz > Utwórz nowy klucz.
Wybierz typ klucza JSON i kliknij Utwórz.
Na komputer zostanie pobrany plik JSON zawierający klucz prywatny. Pobrany plik klucza JSON przechowuj w bezpiecznym miejscu.
Tworzenie tokenów na serwerze
Aby utworzyć nowe tokeny (JWT) na serwerze, użyj standardowych bibliotek JWT i pliku JSON, który został bezpiecznie pobrany z nowego konta usługi.
Tworzenie tokenów na komputerze używanym do programowania
Aby wygenerować tokeny JWT na komputerze używanym do programowania, użyj tego polecenia:oauth2l
oauth2l fetch --cache "" --jwt --json $KEYFILE --audience "https://arcore.googleapis.com/"
Określenie pustej lokalizacji pamięci podręcznej za pomocą flagi --cache jest konieczne, aby za każdym razem generować inny token. Pamiętaj, aby przyciąć wynikowy ciąg znaków. Dodatkowe spacje lub znaki nowego wiersza spowodują, że interfejs API odrzuci token.
Podpisywanie tokena
Do podpisania tokena JWT musisz użyć algorytmu RS256 i tych roszczeń:
iss– adres e-mail konta usługi.sub– adres e-mail konta usługi.iat– czas uniksowy w sekundach, w którym wygenerowano token.exp–iat+3600(1 godzina). Czas wygaśnięcia tokena w sekundach od początku epoki systemu Unix.aud– odbiorcy. Musi mieć wartośćhttps://arcore.googleapis.com/.
Niestandardowe deklaracje nie są wymagane w ładunku JWT, ale deklaracja uid może być przydatna do identyfikowania odpowiedniego użytkownika.
Jeśli do generowania tokenów JWT używasz innej metody, np. interfejsu API Google w środowisku zarządzanym przez Google, pamiętaj, aby podpisywać tokeny JWT za pomocą deklaracji opisanych w tej sekcji. Przede wszystkim upewnij się, że odbiorcy są odpowiedni.
Przekazywanie tokena w sesji ARCore
Twoja aplikacja jest teraz skonfigurowana do korzystania z uwierzytelniania bez użycia klucza.
Gdy przekazujesz token do sesji, pamiętaj o tych kwestiach:
Jeśli do utworzenia sesji użyto klucza interfejsu API, ARCore zignoruje token i zarejestruje błąd.
Jeśli nie potrzebujesz już klucza interfejsu API, usuń go w Google Developers Console i z aplikacji.
ARCore ignoruje tokeny zawierające spacje lub znaki specjalne.
Tokeny zwykle wygasają po godzinie. Jeśli istnieje możliwość, że token wygaśnie podczas używania, uzyskaj nowy token i przekaż go do interfejsu API.
Klucz interfejsu API
- W Google Cloud otwórz stronę Dane logowania.
Dane logowania - Kliknij Utwórz dane logowania, a potem w menu wybierz Klucz interfejsu API.
W oknie Utworzono klucz API pojawi się ciąg znaków nowo utworzonego klucza. - Aby zabezpieczyć klucz interfejsu API, zapoznaj się z dokumentacją dotyczącą ograniczeń klucza interfejsu API.
Aplikacja jest teraz skonfigurowana do używania kluczy interfejsu API.
Co dalej?
Po skonfigurowaniu autoryzacji zapoznaj się z tymi funkcjami ARCore, które jej używają: