Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Bug] Errors fail to return all data from error object. #1785

Open
@jordanenglish-overlay

Description

[REQUIRED] Please fill in the following fields:

  • Pre-built SDK from the website or open-source from this repo: _____
  • Firebase C++ SDK version: 13.0.0 (assuming flutterfire uses the latest version)
  • Problematic Firebase Component: Auth (Auth, Database, etc.)
  • Other Firebase Components in use: Firestore (Auth, Database, etc.)
  • Platform you are using the C++ SDK on: Windows (Mac, Windows, or Linux)
  • Platform you are targeting: Windows (iOS, Android, and/or desktop)

[REQUIRED] Please describe the issue here:

(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)

When signing in with email and password, my project has a 'beforeUserSignIn' blocking function running before logging in that throws an HttpsError. On android/ios/web, throwing an HttpsError within the blocking function can be detected by the client attempting login, with it able to read the contents (i.e. that the HttpsError is 'failed-precondition').

On Windows, errors from the blocking function are clobbered into 'unknown-error' and any extra data in the HttpError is inaccessible.

Login when the blocking function immediately returns without error works as intended.

It may be because the firebase C++ SDK doesn’t provide any field or method for accessing additional error details. I would probably need a way to return the entire object back.

(Was redirected from firebase/flutterfire#17592, so if I need to give you any more information please let me know (or if this issue isn't relevant to this project))

Steps to reproduce:

Have you been able to reproduce this issue with just the Firebase C++ quickstarts ?
What's the issue repro rate? (eg 100%, 1/5 etc)
I have not attempted this yet.

What happened? How can we make the problem occur?
This could be a description, log/console output, etc.

Using the example project on Windows, sign in with email and password whilst a blocking function has been configured and deployed.

You may need to configure the function in the Firebase Console at Authentication > Settings > Blocking Functions.

I was able to replicate the issue with this cloud function deployed.

If you have a downloadable sample project that reproduces the bug you're reporting, you will
likely receive a faster response on your issue.

Relevant Code:

min-viable-blocking.js

import { HttpsError, beforeUserSignedIn } from "firebase-functions/v2/identity";
import { setGlobalOptions } from 'firebase-functions/v2'
const functionConfig = {
 region: "asia-south1",
 concurrency: 60,
 minInstances: 0,
 maxInstances: 10,
 cpu: 1.0,
};
setGlobalOptions(functionConfig);
export const beforeSignIn = beforeUserSignedIn( (event) => {
 throw new HttpsError(
 "failed-precondition",
 "error message for the client to read", 
 {'usefulData': 'drink some water'} //<-- this is the data i want to access from the error object
 );
});

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /