Credential Manager – Wie erstelle ich eine „SignInWithGoogle“-Anmeldeinformation?Android

Forum für diejenigen, die für Android programmieren
Guest
 Credential Manager – Wie erstelle ich eine „SignInWithGoogle“-Anmeldeinformation?

Post by Guest »

Ich versuche, Googles One-Tap einzurichten, aber mit dem neuen All-in-One-Credential-Manager.
Allerdings, nachdem ich die (schlecht geschriebene) Dokumentation durchforstet habe , ich bin stehen geblieben. Beim „Anmelden mit Google“ ist alles in Ordnung, bis ich eine „NoCredentialException: keine Anmeldeinformationen verfügbar“ erhalte, was Sinn macht.
Aber dann... wie erstelle ich Anmeldeinformationen?
Google bietet Beispiele zum Erstellen von Anmeldeinformationen sowohl für Passwörter als auch für Hauptschlüssel, aber ich kann keine Informationen zum Erstellen von Anmeldeinformationen für die Schaltfläche „Mit Google anmelden“ finden (irgendwo im Internet).< /p>

„Die Schaltfläche „Mit Google anmelden“ wird vom Credential Manager mit der neuesten Google ID-Hilfsbibliothek unterstützt.“

(Wie von Android angegeben)
Also verwende ich .createCredentialAsync(), weil Google dies in den bereitgestellten Beispielen verwendet hat (und hier ausdrücklich dazu aufgefordert wurde). ).
Jedoch, Androids createCredentialAsync erfordert ein CreateCredentialRequest und es werden nur drei Typen akzeptiert: „CreatePasswordRequest“, „CreatePublicKeyCredentialRequest“ und „CreateCustomCredentialRequest“.
Hier befindet sich „Googles ID-Hilfsbibliothek „, das im obigen Zitat erwähnt wird, soll nützlich sein. Die Bibliothek verfügt über die Klassen
GetGoogleIdOption und GetSignInWithGoogleOption, die beide Unterklassen von GetCustomCredentialOption sind.
Die Frage ist nun, wie ich mir eine CreateCustomCredentialRequest besorgen soll -Klasse (oder eine Unterklasse davon) für meine .createCredentialAsync()-Methode.
Googles „Neueste ID-Hilfsbibliothek“ bietet nicht:
  • Eine Unterklasse von CustomCredential und deren Builder für SignInWithGoogle (für GoogleIdToken ist dies der Fall)
  • Eine lächerlich lange CreateSignInWithGoogleRequest-Klasse (oder eine CreateGoogleIdRequest-Klasse), die eine Unterklasse von CreateCustomCredentialRequest ist Klasse.
Da ich nicht weiß, wie ich diese CreateCustomCredentialRequest erhalten soll, bin ich mir nicht sicher, wie ich Ich soll auch „Credential Manager mit Sign in with Google integrieren“.
Bevor ich zum Schluss komme, möchte ich noch eine letzte Sache erwähnen. Im Abschnitt „Bei Google anmelden“ heißt es:

Wenn keine Ergebnisse zurückgegeben werden, nachdem setFilterByAuthorizedAccounts auf „true“ gesetzt wurde, während die GetGoogleIdOption-Anfrage instanziiert und übergeben wurde GetCredentialsRequest zeigt an, dass keine autorisierten Konten für die Anmeldung vorhanden sind. An dieser Stelle sollten Sie setFilterByAuthorizedAccounts(false) festlegen und Mit Google anmelden aufrufen.

Das hilft mir nicht, weil:
  • Dies verweist nur auf GetGoogleIdOption und nicht auf GetSignInWithGoogleOption .
  • Es gibt keine Erklärung, wie man „Mit Google anmelden“ aufruft.
Danach , es heißt:

Sobald Sie Instanziieren Sie die Google-Registrierungsanfrage und starten Sie den Authentifizierungsvorgang, ähnlich wie im Abschnitt „Mit Google anmelden“ beschrieben.

Soll es eine GetGoogleSignUpRequest geben?< /code> Klasse?
Gibt es etwas, das mir fehlt? Habe ich irgendwo einen dummen Fehler gemacht? Jede Hilfe hierzu wäre großartig!
Für zusätzlichen Kontext habe ich meinen gesamten Code hier bereitgestellt: https://www.online-java.com/VjQw6cTKig

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post