Current Behaviour
The underlying Firebase Auth errors thrown by the firebase package are silenced and a generic error is throws. Example:
import { useLogin } from 'react-admin'
const login = useLogin()
await login({ username: 'invalid', password: 'credentials' })
the error thrown by the login method is a generic js-Error with the message Login error: invalid credentials. The original error by the Firebase Sdk is silenced.
See:
|
public async HandleAuthLogin(params: { username: string; password: string }) { |
|
const { username, password } = params; |
|
|
|
if (username && password) { |
|
try { |
|
const user = await this.fireWrapper.authSigninEmailPassword( |
|
username, |
|
password |
|
); |
|
log('HandleAuthLogin: user sucessfully logged in', { user }); |
|
return user; |
|
} catch (e) { |
|
log('HandleAuthLogin: invalid credentials', { params }); |
|
throw new Error('Login error: invalid credentials'); |
|
} |
|
} else { |
|
return this.getUserLogin(); |
|
} |
|
} |
Expected Behaviour
The underlying Firebase error should be catchable to be able to make more informed decisions about the error. E.g. the error could be a auth/user-not-found as the user may have been deleted.
I propose the just re-throw the original Firebase error or at least offer a way to access it (e.g. using verror).
Current Behaviour
The underlying Firebase Auth errors thrown by the firebase package are silenced and a generic error is throws. Example:
the error thrown by the
loginmethod is a generic js-Error with the messageLogin error: invalid credentials. The original error by the Firebase Sdk is silenced.See:
react-admin-firebase/src/providers/AuthProvider.ts
Lines 26 to 44 in e3b1c01
Expected Behaviour
The underlying Firebase error should be catchable to be able to make more informed decisions about the error. E.g. the error could be a
auth/user-not-foundas the user may have been deleted.I propose the just re-throw the original Firebase error or at least offer a way to access it (e.g. using verror).