Hier geht es darum, dass deine veröffentlichte API ihren EIGENEN Besuchern die Anmeldung ermöglicht, "Mit Google anmelden" für die Nutzer deiner App, nicht darum, dass deine API einen anderen Dienst aufruft (das ist die separate OAuth2 Option, die bereits am Call External API Block existiert, und davon ist hier nichts betroffen).
Wie die Teile zusammenpassen
Einen Browser Anmelde Redirect abzuschließen ist Aufgabe deines eigenen Frontends, welche App oder Seite auch immer deine API aufruft, hat bereits einen über das eigene SDK von Google verdrahteten "Mit Google anmelden" Button, und hält am Ende dieses Ablaufs ein ID Token. Die Aufgabe deines Endpunkts beginnt danach: er empfängt das Token und verifiziert, dass es echt ist, bevor er irgendetwas glaubt, was es behauptet.
Ihn bauen
- Erstelle den Endpunkt, den dein Frontend nach der Anmeldung aufrufen wird (ein
POSTist typisch). - Füge einen OIDC Login Block hinzu. Lass die Tokenquelle auf Authorization: Bearer header, falls dein Frontend es so sendet, oder wechsle zu einem Body Feld.
- Fülle die erwartete audience aus, deine Google OAuth Client ID, ohne das korrekt gesetzt, könnte ein für eine völlig andere App ausgestelltes Token die Verifizierung bestehen.
- Verbinde die "Verified" Verbindung mit dem, was deine App als Nächstes braucht, üblicherweise eine Database Query, die einen auf
{{oidcSub}}(die stabile Nutzer ID des Anbieters) geschlüsselten Record sucht oder erstellt. Verbinde "Invalid" mit einem Error Response Block, Status401.
Bei Erfolg stellt der Block {{oidcSub}}, {{oidcEmail}}, {{oidcEmailVerified}}, und {{oidcName}} bereit (ändere das "oidc" Präfix im eigenen Panel des Blocks, falls du sie lieber anders nennen würdest), für den Rest deines Graphen zur Nutzung, einen auf diesen Nutzer bezogenen Record speichern, dein eigenes Session Token ausstellen, was auch immer deine App braucht.
Was tatsächlich unterstützt wird
Google, und jeder andere Anbieter, der ein Standard OpenID Connect Discovery Dokument veröffentlicht (unter einer .well-known/openid-configuration URL), wird unterstützt. Ein Anbieter ohne eines wird es nicht, das versucht bewusst nicht, ein anbieterspezifisches Tokenformat zu erraten, das nicht korrekt verifiziert werden kann.
Tipp: Das Audience Feld zählt, setze es immer auf deine echte Google OAuth Client ID, eine leere Audience bedeutet, dass der Block ein für deine App gedachtes Token nicht von einem für jemand anderen gedachten unterscheiden kann.