Wymagania wstępne

Podstawowym warunkiem wstępnym wdrożenia płynnego logowania za pomocą Menedżera danych logowania w aplikacji i witrynie jest utworzenie między nimi bezpiecznego powiązania. Jest to możliwe dzięki plikom Digital Asset Links, które umożliwiają dostawcom danych logowania bezpieczne udostępnianie danych logowania między aplikacją a witryną. Na przykład witryna może zadeklarować, że udostępnia dane logowania aplikacji na Androida lub innej witrynie, używając pliku Digital Asset Links. Korzystanie z Digital Asset Links umożliwia użytkownikom płynne logowanie i używanie tych samych zapisanych danych logowania w powiązanych aplikacjach i witrynach.

Aby umożliwić dostawcom danych logowania używanie kluczy dostępu i haseł w aplikacji i witrynie, wykonaj te czynności, aby utworzyć plik Digital Asset Links dla aplikacji:

Utwórz plik o nazwie assetlinks.json o tej strukturze:

[
    {
    "relation" : [
        "<array_of_permissions_granted_to_app>"
    ],
    "target" : {
        "namespace" : "android_app",
        "package_name" : "<android_application_package_name>",
        "sha256_cert_fingerprints" : [
            "<sha256_certificate_fingerprint_of_signing_key>"
]
    }
}
]
  • relation: tablica zawierająca co najmniej jeden ciąg tekstowy opisujący deklarowaną relację. Aby zadeklarować, że aplikacje i witryny udostępniają dane logowania, w tablicy określ te relacje:

    • delegate_permission/common.handle_all_urls: ta relacja umożliwia korzystanie z linków do aplikacji na Androida, dzięki którym aplikacja na Androida może obsługiwać wszystkie adresy URL w określonej domenie.

    • delegate_permission/common.get_login_creds: ta relacja umożliwia udostępnianie danych logowania między Twoją witryną a aplikacją na Androida.

  • target: obiekt określający zasób, którego dotyczy deklaracja.

    • target.namespace: ustaw wartość android_app.
    • target.package_name: ustaw nazwę pakietu zadeklarowaną w pliku manifestu aplikacji, np. com.example.android.
  • sha256_cert_fingerprints: odciski cyfrowe SHA256 certyfikatu podpisywania aplikacji. Aby uzyskać odcisk cyfrowy SHA256 aplikacji, zapoznaj się z artykułem Deklarowanie powiązań z witryną.

Przykładowe miejsce docelowe w przypadku aplikacji:

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
        SHA_HEX_VALUE
      ]
    }
  }
]

Umieść plik Digital Asset Links w tej lokalizacji w domenie logowania w swojej witrynie:

```none
https://domain[:optional_port]/.well-known/assetlinks.json
```

Jeśli na przykład domena logowania to signin.example.com, umieść plik pod adresem https://signin.example.com/.well-known/assetlinks.json.

Typ MIME pliku Digital Asset Links musi mieć wartość JSON. Sprawdź, czy serwer wysyła w odpowiedzi nagłówek Content-Type: application/json, a stan HTTP jest ustawiony na 200.

3. Zezwalaj na pobieranie pliku Digital Asset Links

Zaktualizuj hosta, aby umożliwić Google pobranie pliku Digital Asset Links. Większość witryn zezwala dowolnemu agentowi automatycznemu na pobieranie plików ze ścieżki /.well-known/, aby inne usługi mogły uzyskiwać dostęp do metadanych w tych plikach.

Jeśli masz plik robots.txt, zezwól robotom internetowym na pobieranie /.well-known/assetlinks.json, aktualizując plik robots.txt w ten sposób:

User-agent: *
Allow: /.well-known/

4. Aktualizowanie pliku manifestu aplikacji

W pliku manifestu aplikacji dodaj te wiersze w sekcji <application>:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

5. Konfigurowanie Digital Asset Links w przypadku haseł

Jeśli do zarządzania hasłami używasz Menedżera danych logowania, musisz wykonać dodatkowy krok, aby skonfigurować linki do zasobów cyfrowych.

Dodaj obiekt, który określa pliki assetlinks.json do załadowania w pliku manifestu. W ciągu znaków musisz używać symboli zmieniających znaczenie w przypadku apostrofów i cudzysłowów, jak pokazano w tym przykładzie:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>

Link https://signin.example.com/.well-known/assetlinks.json musi zwracać odpowiedź HTTP 200 i mieć nagłówek Content-Type o wartości application/json. Weryfikacja nie powiedzie się, jeśli odpowiedź zawiera przekierowanie HTTP 301 lub 302 albo Content-Type w formacie innym niż JSON.

Poniższy przykład pokazuje przykładowe żądanie i oczekiwane nagłówki odpowiedzi:

> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com

< HTTP/1.1 200 OK
< Content-Type: application/json

Dalsze kroki

Po dodaniu niezbędnych zależności i skonfigurowaniu linków do zasobów cyfrowych dla kluczy dostępu możesz użyć Menedżera danych logowania, aby wdrożyć obsługiwane metody uwierzytelniania: klucze dostępu i logowanie przez Google. Aby rozpocząć, zapoznaj się z tymi przewodnikami dla programistów: