firebase / firebase/firebaseui-web-react

uiconfig.callbacks are not called for email link sign in method if onAuthStateChanged listener is registered

Open
#91 6 comments 12 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
1.3k
Forks
246
PR merge metrics
No merged PRs in 30d

Description

I am using provider: EmailAuthProvider.PROVIDER_ID with EmailAuthProvider.EMAIL_LINK_SIGN_IN_METHOD and flow = redirect. I register a listener for onAuthStateChanged in componentDidMount and I have
```
uiconfig = {
callbacks: {
signInSuccessWithAuthResult: function(authResult, redirectUrl){
console.log("called success callback");
return false;
}
}
}
```
(other parts of config skipped for brevity)
The onAuthStateChanged listener will be called but the signInSuccessWithAuthResult callback will not. If I get rid of the listener, the callback is hit. This issue only applies to email link sign in- google, facebook, etc[ work fine and call both the listener and the callback.

I need the signInSuccessWithAuthResult callback to take actions that need to happen only once on signup, rather than every time the user logs in/refreshes the page, which is what onAuthStateChanged would get me.

@jhuleatt @wti806 This seems like it might be related to these other issues issues: #67 or https://github.com/firebase/firebaseui-web/issues/656 any thoughts?

@dankawka maybe related to the issue you called in #67 ?

Contributor guide

Open the contributing guide

Research direction

Reproduce the email-link redirect flow with an onAuthStateChanged listener and the shown uiconfig.callbacks configuration, then compare it with the flow without the listener. Trace the React wrapper's FirebaseUI integration to find where the success callback is bypassed; done means the callback is invoked alongside the auth-state listener for email-link sign-in without changing other providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
authentication
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.