angular / angular/angularfire

getRedirectResult() always returns null (AF7+FB9)

Open
#3,208 9 comments 7 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
7.8k
Forks
2.2k
Avg merge
22h 28m
Merged PRs (30d)
6

Description

### Version info

**Angular: 13.1.2**

**Firebase: 9.6.3**

**AngularFire: 7.2.0 / 7.3.0**

### How to reproduce these conditions

on my ngInit():

```javascript
getRedirectResult().then(result => { console.log(result)})
```

### Debug output

i always get null.

i tried using the /compat/auth, i get

```javascript
{result : { credentials: null, user: null }}
```
### Expected behavior

results should contain credentials and user.

### Actual behavior

no results at all.
Works properly in AF 6.1.4 + FB 8.2.1. Encountered after upgrade.

onAuthStageChanged() works; it detects the user correctly. Problem is, There is a subscription to auth,state already running on a different module (which i am prohibited to modify). Subscribing to onAuthStageChanged() creates some sort of pseudo-deadlock (sometimes it resolves, sometimes it doesnt).

My temp workaround is to use signInWithPopup() but that disables mobile compatibility.
Tips on overcoming this are highly appreciated. Thank you

Contributor guide

Open the contributing guide

Research direction

Start with the getRedirectResult() call shown in the reproduction and compare its behavior across AngularFire 7.2.0/7.3.0 with Firebase 9.6.3 versus AngularFire 6.1.4 with Firebase 8.2.1. Check the /compat/auth result and the interaction with the existing auth state subscription; done means redirect sign-in returns credentials and a user without relying on signInWithPopup().

Written by the indexing model from the issue text.

Assessment

Tech stack
angular, firebase, typescript
Domain
authentication, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.