From 5c2bbec53304df4dc7aa989a32d0886d05cc43d1 Mon Sep 17 00:00:00 2001 From: xiaoyijun <10806653+xiaoyijun@users.noreply.github.com> Date: Thu, 10 Sep 2026 18:35:09 +0000 Subject: [PATCH] chore: update translations and generated content --- .../quick-starts/framework/android/README.mdx | 52 ++++++------- .../_implement-sign-in-and-sign-out.mdx | 44 +++++------ .../framework/android/_installation.mdx | 20 ++--- .../quick-starts/framework/swift/_add-sdk.mdx | 36 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- .../quick-starts/framework/android/README.mdx | 56 +++++++------- .../_implement-sign-in-and-sign-out.mdx | 42 +++++----- .../framework/android/_installation.mdx | 22 +++--- .../quick-starts/framework/swift/_add-sdk.mdx | 36 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- .../quick-starts/framework/android/README.mdx | 68 ++++++++--------- .../_implement-sign-in-and-sign-out.mdx | 42 +++++----- .../framework/android/_installation.mdx | 24 +++--- .../quick-starts/framework/swift/_add-sdk.mdx | 34 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- .../quick-starts/framework/android/README.mdx | 66 ++++++++-------- .../_implement-sign-in-and-sign-out.mdx | 46 +++++------ .../framework/android/_installation.mdx | 24 +++--- .../quick-starts/framework/swift/_add-sdk.mdx | 36 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- .../quick-starts/framework/android/README.mdx | 72 +++++++++--------- .../_implement-sign-in-and-sign-out.mdx | 50 ++++++------ .../framework/android/_installation.mdx | 24 +++--- .../quick-starts/framework/swift/_add-sdk.mdx | 34 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 52 ++++++------- .../quick-starts/framework/android/README.mdx | 44 +++++------ .../_implement-sign-in-and-sign-out.mdx | 20 ++--- .../framework/android/_installation.mdx | 18 ++--- .../quick-starts/framework/swift/_add-sdk.mdx | 36 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- .../quick-starts/framework/android/README.mdx | 58 +++++++------- .../_implement-sign-in-and-sign-out.mdx | 20 ++--- .../framework/android/_installation.mdx | 22 +++--- .../quick-starts/framework/swift/_add-sdk.mdx | 36 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 46 +++++------ .../quick-starts/framework/android/README.mdx | 72 +++++++++--------- .../_implement-sign-in-and-sign-out.mdx | 30 ++++---- .../framework/android/_installation.mdx | 20 ++--- .../quick-starts/framework/swift/_add-sdk.mdx | 34 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 55 +++++++------- .../quick-starts/framework/android/README.mdx | 76 +++++++++---------- .../_implement-sign-in-and-sign-out.mdx | 30 ++++---- .../framework/android/_installation.mdx | 29 +++---- .../quick-starts/framework/swift/_add-sdk.mdx | 34 ++++----- .../swift/_implement-sign-in-and-sign-out.mdx | 54 ++++++------- 45 files changed, 956 insertions(+), 928 deletions(-) diff --git a/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/README.mdx b/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/README.mdx index 1daac70fe31..d12da9c5917 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/README.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/README.mdx @@ -5,7 +5,7 @@ sidebar_custom_props: description: Android-Integrationsanleitung. language: kotlin/java official_link: https://developer.android.com -app_type: Native app +app_type: Native App framework: Android --- @@ -31,7 +31,7 @@ import ConfigApiResources from './api-resources/_config-api-resources.mdx'; import FetchAccessTokenForApiResources from './api-resources/_fetch-access-token-for-api-resources.mdx'; import FetchOrganizationTokenForUser from './api-resources/_fetch-organization-token-for-user.mdx'; -# Authentifizierung zu deiner Android (Kotlin/Java)-Anwendung hinzufügen +# Authentifizierung zu deiner Android (Kotlin/Java)-Anwendung hinzufügen (Add authentication to your Android (Kotlin/Java) application) Diese Anleitung zeigt dir, wie du Logto in deine Android-Anwendung integrierst. @@ -39,9 +39,9 @@ Diese Anleitung zeigt dir, wie du Logto in deine Android-Anwendung integrierst. ## Voraussetzungen \{#prerequisites} -- Ein [Logto Cloud](https://cloud.logto.io)-Konto oder ein [selbst gehostetes Logto](/introduction/set-up-logto-oss). -- Eine Logto-native Anwendung erstellt. -- Ein Kotlin-Android-Anwendungsprojekt. +- Ein [Logto Cloud](https://cloud.logto.io)-Konto oder eine [selbst gehostete Logto](/introduction/set-up-logto-oss). +- Eine erstellte Logto Native-Anwendung. +- Ein Kotlin Android-Anwendungsprojekt. ## Installation \{#installation} @@ -64,16 +64,16 @@ Diese Anleitung zeigt dir, wie du Logto in deine Android-Anwendung integrierst. In Android folgt die Redirect-URI dem Muster: `$(LOGTO_REDIRECT_SCHEME)://$(YOUR_APP_PACKAGE)/callback`: -- Das `LOGTO_REDIRECT_SCHEME` sollte ein benutzerdefiniertes Schema im umgekehrten Domain-Format sein. +- Das `LOGTO_REDIRECT_SCHEME` sollte ein benutzerdefiniertes Schema im Reverse-Domain-Format sein. - Das `YOUR_APP_PACKAGE` ist der Paketname deiner App. -Angenommen, du behandelst `io.logto.android` als das benutzerdefinierte `LOGTO_REDIRECT_SCHEME` und `io.logto.sample` ist dein App-Paketname, sollte die Redirect-URI `io.logto.android://io.logto.sample/callback` sein. +Angenommen, du verwendest `io.logto.android` als benutzerdefiniertes `LOGTO_REDIRECT_SCHEME` und `io.logto.sample` ist dein App-Paketname, dann sollte die Redirect-URI `io.logto.android://io.logto.sample/callback` lauten. - + -In v3 öffnet sich die Anmeldeerfahrung in einem [Custom Tab](https://developer.android.com/develop/ui/views/layout/webapps/overview-of-android-custom-tabs) (dem Systembrowser), und die Weiterleitung wird über einen Intent-Filter auf Betriebssystemebene zurück zu deiner App geleitet. Du musst das Schema deiner Redirect-URI mit dem Manifest-Platzhalter `logtoRedirectScheme` in der Build-Datei deiner App deklarieren: +In v3 öffnet sich die Anmeldeerfahrung in einem [Custom Tab](https://developer.android.com/develop/ui/views/layout/webapps/overview-of-android-custom-tabs) (dem Systembrowser), und die Weiterleitung wird über einen OS-Level Intent-Filter zurück zu deiner App geleitet. Du musst das Schema deiner Redirect-URI mit dem Manifest-Platzhalter `logtoRedirectScheme` in der Build-Datei deiner App deklarieren: @@ -103,13 +103,13 @@ android { -Zusätzlich erzwingt v3 das Redirect-URI-Muster durch Android's Intent-Filter-Matching, sodass eine Redirect-URI, die vom Muster abweicht, niemals an deine App zugestellt wird: +Zusätzlich erzwingt v3 das Redirect-URI-Muster durch das Intent-Filter-Matching von Android, sodass eine Redirect-URI, die vom Muster abweicht, niemals an deine App übergeben wird: - Das Schema muss dem Manifest-Platzhalter `logtoRedirectScheme` entsprechen. - Der Host muss deine `applicationId` sein. - Der Pfad muss `/callback` sein. -Halte das Schema und den Host in Kleinbuchstaben, da Intent-Filter-Matching zwischen Groß- und Kleinschreibung unterscheidet und Browser das Schema in Kleinbuchstaben umwandeln. +Halte das Schema und den Host kleingeschrieben, da das Intent-Filter-Matching zwischen Groß- und Kleinschreibung unterscheidet und Browser das Schema kleinschreiben.
@@ -119,18 +119,18 @@ Halte das Schema und den Host in Kleinbuchstaben, da Intent-Filter-Matching zwis -Um [Android App Links](https://developer.android.com/training/app-links) (eine `https`-Redirect-URI auf einer Domain, die du besitzt) statt des benutzerdefinierten Schemas zu verwenden: +Um [Android App Links](https://developer.android.com/training/app-links) (eine `https`-Redirect-URI auf einer eigenen Domain) statt des benutzerdefinierten Schemas zu verwenden: -1. Hoste die [Digital Asset Links](https://developers.google.com/digital-asset-links/v1/getting-started)-Datei unter `https://your.domain/.well-known/assetlinks.json`, indem du deine Anwendungs-ID und die SHA-256-Fingerprints deiner Signaturzertifikate angibst. Wenn du mit Play App Signing veröffentlichst, findest du den Release-Fingerprint in der Play Console unter **Setup** > **App signing**. Die Datei muss als `Content-Type: application/json` mit HTTP 200 und ohne Weiterleitungen bereitgestellt werden. +1. Hoste die [Digital Asset Links](https://developers.google.com/digital-asset-links/v1/getting-started)-Datei unter `https://your.domain/.well-known/assetlinks.json`, in der deine Application ID und die SHA-256-Fingerabdrücke deiner Signaturzertifikate deklariert werden. Beim Veröffentlichen mit Play App Signing findest du den Release-Fingerabdruck in der Play Console unter **Setup** > **App signing**. Die Datei muss als `Content-Type: application/json` mit HTTP 200 und ohne Weiterleitungen bereitgestellt werden. -2. Deklariere den App Links Intent-Filter auf der Redirect-Receiver-Aktivität des SDK `io.logto.sdk.android.auth.logto.LogtoRedirectReceiverActivity` in deiner `AndroidManifest.xml`-Datei. Wenn du das benutzerdefinierte Schema überhaupt nicht verwendest, entferne den eingebauten Filter des SDK mit `tools:node="removeAll"`, und der Manifest-Platzhalter `logtoRedirectScheme` ist dann nicht mehr erforderlich: +2. Deklariere den App Links Intent-Filter auf der Redirect-Receiver-Activity des SDKs `io.logto.sdk.android.auth.logto.LogtoRedirectReceiverActivity` in deiner `AndroidManifest.xml`-Datei. Wenn du das benutzerdefinierte Schema gar nicht verwendest, entferne den eingebauten Filter des SDKs mit `tools:node="removeAll"`, und der Manifest-Platzhalter `logtoRedirectScheme` ist dann nicht mehr erforderlich: ```xml title="AndroidManifest.xml" - + @@ -143,9 +143,9 @@ Um [Android App Links](https://developer.android.com/training/app-links) (eine ` ``` -3. Füge `https://your.domain/callback` als Redirect-URI (und, falls sie für die Abmeldung verwendet wird, als Post-Abmelde-Redirect-URI) auf der Anwendungsdetailseite der Logto Console hinzu und übergebe sie an `signIn` / `signOut`. +3. Füge `https://your.domain/callback` als Redirect-URI (und, falls für Sign-out verwendet, als Post-Sign-out-Redirect-URI) auf der Anwendungsdetailseite der Logto Console hinzu und übergebe sie an `signIn` / `signOut`. -Beachte, dass der Callback jetzt eine echte URL auf deiner Domain ist, also stelle dort eine Fallback-Seite bereit (z. B. einen „Zurück zur App"-Button) für Browser, die App Links bei einer Server-Weiterleitung nicht starten. Der Button muss nur auf die aktuelle URL verlinken (z. B. `href` auf `window.location.href` setzen): Die Autorisierungsparameter befinden sich im Query-String, und ein benutzerinitierter Klick gibt der gleichen URL eine weitere Chance, zu deiner App weitergeleitet zu werden. Auf Android 12+ öffnet eine nicht verifizierte Domain niemals die App, sodass eine fehlerhafte `assetlinks.json` stillschweigend fehlschlägt. Du kannst den Verifikationsstatus mit `adb shell pm get-app-links ` überprüfen. +Beachte, dass der Callback jetzt eine echte URL auf deiner Domain ist, daher solltest du dort eine Fallback-Seite bereitstellen (z. B. einen "Zurück zur App"-Button) für Browser, die App Links bei einer Server-Weiterleitung nicht öffnen. Der Button muss nur auf die aktuelle URL verlinken (z. B. `href` auf `window.location.href` setzen): Die Autorisierungsparameter befinden sich in der Query-String, und ein vom Benutzer ausgelöster Klick gibt derselben URL eine weitere Chance, zu deiner App weitergeleitet zu werden. Ab Android 12+ öffnet eine nicht verifizierte Domain die App nie, daher schlägt ein fehlerhaftes `assetlinks.json` stillschweigend fehl. Du kannst den Verifizierungsstatus mit `adb shell pm get-app-links ` prüfen.
@@ -153,13 +153,13 @@ Beachte, dass der Callback jetzt eine echte URL auf deiner Domain ist, also stel -Es ist keine zusätzliche Konfiguration erforderlich. Die Anmeldeerfahrung öffnet sich in einer eingebetteten WebView, und das SDK fängt die Weiterleitung innerhalb der WebView ab. +Keine zusätzliche Einrichtung erforderlich. Die Anmeldeerfahrung öffnet sich in einer eingebetteten WebView, und das SDK fängt die Weiterleitung innerhalb der WebView ab.
-### Anmeldung und Abmeldung implementieren \{#implement-sign-in-and-sign-out} +### Sign-in und Sign-out implementieren \{#implement-sign-in-and-sign-out} @@ -169,13 +169,13 @@ Es ist keine zusätzliche Konfiguration erforderlich. Die Anmeldeerfahrung öffn ### Benutzerinformationen anzeigen \{#display-user-information} -Um die Informationen des Benutzers anzuzeigen, kannst du die Methode `logtoClient.getIdTokenClaims()` verwenden. Zum Beispiel kannst du Benutzerinformationen in einem ViewModel abrufen und dann in deiner Aktivität anzeigen: +Um die Informationen des Benutzers anzuzeigen, kannst du die Methode `logtoClient.getIdTokenClaims()` verwenden. Zum Beispiel kannst du Benutzerinformationen in einem ViewModel abrufen und dann in deiner Activity anzeigen: ```kotlin title="LogtoModelView.kt" class LogtoViewModel(application: Application) : AndroidViewModel(application) { // ...andere Codes - // Füge ein Live-Daten-Objekt hinzu, um die ID-Token-Ansprüche zu beobachten + // Füge ein LiveData hinzu, um die ID-Token-Ansprüche zu beobachten private val _idTokenClaims = MutableLiveData() val idTokenClaims: LiveData get() = _idTokenClaims @@ -194,7 +194,7 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { //...andere Codes - // Angenommen, du hast eine Textansicht mit der ID `user_info_text_view` in deinem Layout + // Angenommen, du hast eine TextView mit der ID `user_info_text_view` in deinem Layout val userInfoResponseTextView: TextView = findViewById(R.id.user_info_text_view) logtoViewModel.userInfoResponse.observe(this) { userInfoResponse -> userInfoResponseTextView.text = if (userInfoResponse !== null) { @@ -231,7 +231,7 @@ Dann kannst du auf die zusätzlichen Ansprüche im Rückgabewert von `logtoClien logtoClient.getIdTokenClaims { logtoException, idTokenClaims -> println("IdTokenClaims:$idTokenClaims") } -// Jetzt kannst du auf zusätzliche Ansprüche `claims.email`, `claims.phone`, etc. zugreifen. +// Jetzt kannst du auf zusätzliche Ansprüche wie `claims.email`, `claims.phone` usw. zugreifen. ``` >{`logtoClient.fetchUserInfo {_, userInfoResponse -> println("UserInfoResponse:$userInfoResponse") } -// Jetzt kannst du auf den Anspruch \`userInfo.custom_data\` zugreifen`} +// Jetzt kannst du auf den Anspruch \`userInfo.custom_data\` zugreifen.`} } /> @@ -264,10 +264,10 @@ logtoClient.getIdTokenClaims { logtoException, idTokenClaims -> -### Organisationstokens abrufen \{#fetch-organization-tokens} +### Organisationstoken abrufen \{#fetch-organization-tokens} -## Weiterführende Lektüre \{#further-readings} +## Weiterführende Literatur \{#further-readings} diff --git a/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/_implement-sign-in-and-sign-out.mdx b/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/_implement-sign-in-and-sign-out.mdx index 66938a0ce81..df214310592 100644 --- a/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/_implement-sign-in-and-sign-out.mdx +++ b/i18n/de/docusaurus-plugin-content-docs/current/quick-starts/framework/android/_implement-sign-in-and-sign-out.mdx @@ -9,18 +9,18 @@ Du kannst `logtoClient.signIn` verwenden, um den Benutzer anzumelden, und `logto - + -In v3 führt `logtoClient.signOut` eine vollständige Abmeldung durch: Es löscht die lokalen Anmeldeinformationen, widerruft den Refresh-Token und beendet die Logto-Sitzung, indem es den End-Session-Endpunkt im Browser öffnet. Der Browser navigiert dann über die Post-Abmelde-Redirect-URI zurück zu deiner App. Bevor du es verwendest, wechsle zur Anwendungsdetailseite der Logto Console, füge die Post-Abmelde-Redirect-URI `io.logto.android://io.logto.sample/callback` hinzu und klicke auf „Änderungen speichern". Die Post-Abmelde-Redirect-URI folgt dem gleichen Muster wie die Redirect-URI, und ihr Schema muss ebenfalls dem Manifest-Platzhalter `logtoRedirectScheme` entsprechen. +In v3 führt `logtoClient.signOut` eine vollständige Abmeldung durch: Es werden die lokalen Anmeldedaten gelöscht, das Auffrischungstoken widerrufen und die Logto-Sitzung beendet, indem der End-Session-Endpunkt im Browser geöffnet wird. Der Browser navigiert dann über die Post-Sign-Out-Redirect-URI zurück zu deiner App. Bevor du dies verwendest, wechsle zur Anwendungsdetailseite der Logto Console, füge die Post-Sign-Out-Redirect-URI `io.logto.android://io.logto.sample/callback` hinzu und klicke auf „Änderungen speichern“. Die Post-Sign-Out-Redirect-URI folgt demselben Muster wie die Redirect-URI, und ihr Schema muss ebenfalls mit dem Manifest-Platzhalter `logtoRedirectScheme` übereinstimmen. Zum Beispiel in einer Android-App: ```kotlin title="LogtoModelView.kt" -//...mit anderen Imports +//...mit weiteren Imports class LogtoViewModel(application: Application) : AndroidViewModel(application) { - // ...andere Codes + // ...weitere Codes - // Füge ein Live-Datenobjekt hinzu, um den Authentifizierungsstatus zu beobachten + // Füge ein LiveData hinzu, um den Authentifizierungsstatus zu beobachten private val _authenticated = MutableLiveData(logtoClient.isAuthenticated) val authenticated: LiveData get() = _authenticated @@ -28,7 +28,7 @@ class LogtoViewModel(application: Application) : AndroidViewModel(application) { fun signIn(context: Activity) { logtoClient.signIn(context, "io.logto.android://io.logto.sample/callback") { logtoException -> logtoException?.let { println(it) } - // Aktualisiere die Live-Daten + // Aktualisiere das LiveData _authenticated.postValue(logtoClient.isAuthenticated) } } @@ -36,19 +36,19 @@ class LogtoViewModel(application: Application) : AndroidViewModel(application) { fun signOut(context: Activity) { logtoClient.signOut(context, "io.logto.android://io.logto.sample/callback") { logtoException -> logtoException?.let { println(it) } - // Aktualisiere die Live-Daten + // Aktualisiere das LiveData _authenticated.postValue(logtoClient.isAuthenticated) } } } ``` -Rufe dann die Methoden `signIn` und `signOut` in deiner Aktivität auf: +Rufe dann die Methoden `signIn` und `signOut` in deiner Activity auf: ```kotlin title="MainActivity.kt" class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { - //...andere Codes + //...weitere Codes // Angenommen, du hast einen Button mit der ID "sign_in_button" in deinem Layout val signInButton = findViewById