I asked Firebase support and got the following reply. Items in italics are my additions.
In order to update firebase-project-id.firebaseapp.com
in the OAuth consent screen, you need a custom domain with Firebase Hosting (Firebase Console > Hosting > Connect Domain). This is because https://firebase-project-id.firebaseapp.com/__/auth/handler
is hosted by Firebase Hosting. You need to point your custom domain to firebase-project-id.firebaseapp.com
.
When connecting the custom domain, if you are not hosting your app on Firebase, use a new subdomain (e.g. app.yourdomain.example
) and do not redirect it. Firebase will prompt you to add an entry on your DNS server and take care of the SSL certificate automatically.
After connecting your custom domain to your Firebase project, you should also follow the steps below:
- Go to the Firebase Console > Select Project > Authentication > Sign-in method > Facebook > Copy the URL under 'To complete setup, add this OAuth redirect URI to your Facebook app configuration.'
- It will look something like
https://firebase-project-id.firebaseapp.com/__/auth/handler
Replace the project ID with your custom domain. It will look something like: https://yourdomain.example/__/auth/handler
Go to the GCP Console > Select project > API Manager > Credentials > Add the link in #2 to the 'Authorized redirect URIs'
Then ensure to use yourdomain.example
as the authDomain in your app's configuration instead of firebase-project-id.firebaseapp.com
firebase.initializeApp({
apiKey: ....,
authDomain: 'yourdomain.example',
...
});
In my case, yourdomain.example
is where I host my site, so I used app.yourdomain.example
where I needed it.
- Firebase Hosting URL
- handler URL:
https://app.yourdomain.example/__/auth/handler
- GCP Credentials
- Choose the right one under OAuth 2.0 client IDs. The client ID will match the one you have configured Firebase with in your code.
authDomain: "app.yourdomain.example"