Probleme beim Authentifizieren von Flattern zu einer Gen 2 -Cloud -Lauffunktion - Invoker -Rolle gewährt, aber Anfragen

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Probleme beim Authentifizieren von Flattern zu einer Gen 2 -Cloud -Lauffunktion - Invoker -Rolle gewährt, aber Anfragen

by Anonymous » 06 Apr 2025, 00:02

Ich versuche, eine Gen 2 -Cloud -Lauffunktion aus meiner Flutter -App aufzurufen. Ich habe allen Benutzern bereits die Rolle des "Cloud Run Invoker" gewährt (effektiv zulässt, dass nicht authentifizierte Aufrufe in Xcode in Xcode testen. Hier ist das relevante Ausschnitt aus meiner AuthService -Klasse, in dem ich das Token erwerbe und den Endpunkt der Cloud -Funktionen aufrufen soll: < /p>
Hier wird es bei Anmeldung < /p>
zugewiesen

Code: Select all

Future signInWithEmail(String email, String password) async {

final user = userCredential.user;
if (user == null) {
throw Exception('Sign-in failed, no user returned');
}

// Force refresh of the ID token after login:
final idToken = await user.getIdToken(true);
debugPrint('Successfully got fresh ID token: ${idToken.substring(0, 20)}...');

return user;
< /code>
Und dies ist ein Beispiel für Funktionsaufruf < /p>
  final user = FirebaseAuth.instance.currentUser;

// If the user isn't signed in, handle it or show an error:
if (user == null) {
debugPrint('No user found; cannot verify subscription');
return;
}

// Optionally refresh the token again, if needed:
final refreshedToken = await user.getIdToken(true);
debugPrint('Refreshed token before calling function: ${refreshedToken.substring(0, 20)}...');

try {
// Call your secure Firebase Function / Cloud Run endpoint here
// (This is just an example – your actual call may differ)
final result = await _firebaseService.callFunction('validateIosPurchase', {
'receipt': /* iOS receipt data */,
'subscriptionId': purchase.productID,
'debug': false,
});

debugPrint('Purchase verified: $result');

// …perform additional logic, e.g. updating premium status…
} catch (e) {
debugPrint('Purchase verification error: $e');
rethrow; // or handle the error
}
}

Top