Na tej stronie referencyjnej znajdziesz dokumentację punktów końcowych i interfejsów oferowanych przez Google, z których korzysta Twoja aplikacja podczas procesu łączenia kont opartego na OAuth.
Wymagania wstępne i standardy
Aby skutecznie korzystać z tych punktów końcowych Google, integracja musi być zgodna z tymi standardami:
- OAuth 2.0: zgodny z RFC 6749.
- Tokeny internetowe JSON (JWT): zgodne z RFC 7519 (w przypadku uproszczonego łączenia kont i RISC).
- Tokeny zdarzeń związanych z bezpieczeństwem: zgodne ze specyfikacją RFC 8417 (w przypadku RISC).
- HTTPS wszystkie żądania muszą być wysyłane przez bezpieczne połączenie HTTPS.
Identyfikator URI przekierowania OAuth
Punkt końcowy, do którego usługa przekierowuje przeglądarkę użytkownika po pomyślnym uwierzytelnieniu i uzyskaniu zgody. Parametr YOUR_PARTNER_ID path to identyfikator partnera łączenia z kontem Google (lub identyfikator projektu) skonfigurowany podczas rejestracji.
- URL:
https://oauth-redirect.googleusercontent.com/r/YOUR_PARTNER_ID URL w piaskownicy:
https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PARTNER_IDMetoda:
GET(za pomocą przekierowania w przeglądarce)
Parametry żądania
Podczas przekierowywania użytkownika z powrotem do Google do adresu URL muszą być dołączone parametry. W zależności od użytego przepływu OAuth parametry te są formatowane jako ciąg zapytania (przepływ kodu autoryzacji) lub fragment adresu URL (przepływ niejawny).
| Parametr | Opis |
|---|---|
code
|
(Wymagany w przypadku procedury kodu autoryzacji) Kod autoryzacji wygenerowany przez Twoją usługę. |
state
|
(Wymagane) Niezmodyfikowana wartość stanu otrzymana pierwotnie od Google. |
access_token
|
(Wymagany w przypadku przepływu niejawnego) Długotrwały token dostępu wygenerowany przez Twoją usługę. |
token_type
|
(Wymagane w przypadku przepływu niejawnego) Musi być równe
bearer. |
Odpowiedzi z błędem
Jeśli żądanie przekierowania do adresu URI OAuth ma nieprawidłowy format, otrzymasz błąd HTTP 400 Bad Request. Treść odpowiedzi będzie zawierać obiekt JSON o tej strukturze:
| Pole | Opis |
|---|---|
sendPostBody |
Określa, czy JS ma przekierowywać do redirectUri za pomocą POST. W tym przypadku zwykle jest to false. |
errorMessage |
Komunikat o błędzie, który ma być wyświetlany klientowi, gdy nie można dokończyć przekierowania. W przypadku brakujących fragmentów jest to "A URI fragment or query string must be set." |
Odpowiedzi o błędach OAuth 2.0
Jeśli użytkownik odmówi wyrażenia zgody lub w usłudze wystąpi błąd, musi ona przekierować użytkownika z powrotem do identyfikatora URI przekierowania OAuth ze standardowymi parametrami błędu OAuth 2.0 (np. error=access_denied). Google przetworzy te parametry i wyświetli użytkownikowi odpowiedni ekran błędu.
Interfejs RISC API (opcjonalny)
Używany przez usługę do proaktywnego powiadamiania Google, gdy użytkownik odłączy konto na Twojej platformie za pomocą protokołu RISC. Dzięki temu obie platformy pozostają zsynchronizowane.
- URL:
https://risc.googleapis.com/v1/events:publish - Metoda:
POST - Uwierzytelnianie: wymaga tokena konta usługi Google z odpowiednimi uprawnieniami.
- Content-Type:
application/json
Deklaracje tokenów zdarzeń związanych z bezpieczeństwem
Tokeny zdarzeń związanych z bezpieczeństwem, których używasz do powiadamiania Google o zdarzeniach odwołania tokena, muszą spełniać wymagania podane w tabeli poniżej:
| Roszczenie | Opis |
|---|---|
iss |
Issuer Claim (Deklaracja wystawcy): to adres URL hostowany przez Ciebie, który jest udostępniany Google podczas rejestracji. |
aud |
Oświadczenie dotyczące odbiorców: identyfikuje Google jako odbiorcę tokena JWT. Musi mieć wartość google_account_linking. |
jti |
Roszczenie dotyczące identyfikatora JWT: jest to unikalny identyfikator generowany przez Ciebie dla każdego tokena zdarzenia związanego z bezpieczeństwem. |
iat |
Issued At Claim: jest to wartość NumericDate, która reprezentuje czas utworzenia tego tokena zdarzenia związanego z bezpieczeństwem. |
toe |
Time of Event Claim: to opcjonalna NumericDate wartość, która reprezentuje czas unieważnienia tokena. |
exp |
Roszczenie dotyczące czasu wygaśnięcia: nie uwzględniaj tego pola, ponieważ zdarzenie, które spowodowało to powiadomienie, już się odbyło. |
events |
Security Events Claim: to obiekt JSON, który musi zawierać tylko jedno zdarzenie unieważnienia tokena z tymi polami:
|
Więcej informacji o typach i formatach pól znajdziesz w artykule Token internetowy JSON (JWT).
Interfejs „przejścia do aplikacji”
W przypadku przełączania aplikacji aplikacja mobilna musi zwrócić kod autoryzacji lub token dostępu do aplikacji Google.
Android (wynik intencji)
Aplikacja jest otwierana za pomocą intencji. Po uzyskaniu zgody kończy działanie i zwraca wynik do Google. Więcej informacji znajdziesz w przewodniku po implementacji na Androida.
- Działanie:
com.google.android.gms.auth.CODE_AVAILABLE - Dodatki:
code,state,access_token,token_type.
iOS (niestandardowy schemat URI adresu URL i uniwersalne linki)
Aplikacja otwiera Google za pomocą niestandardowego schematu URI adresu URL lub uniwersalnego linku HTTPS. Więcej informacji znajdziesz w przewodniku wdrażania na iOS.
- Format:
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING