Firebase says "Domain not whitelisted" for a link that is whitelisted
I am busy setting up a firebase authentication using an email magic link and using the guide here:
https://firebase.google.com/docs/auth/android/email-link-auth
It says I need to whitelist a domain, but I cannot find any place in the console to do that, other than the dynamic link I created. I tried running the below code, but I get
[ UNAUTHORIZED_DOMAIN:Domain not whitelisted by project ]
val actionCodeSettings = ActionCodeSettings.newBuilder()
// URL you want to redirect back to. The domain (www.example.com) for this
// URL must be whitelisted in the Firebase Console.
.setUrl("https://myapphere.page.link/register") //I created this dynamic link in the firebase console
.setHandleCodeInApp(true)
.setAndroidPackageName(
"com.myapphere",
true,
"1")
.build()
val auth = FirebaseAuth.getInstance()
auth.sendSignInLinkToEmail(email, actionCodeSettings)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// Sign in success, update UI with the signed-in user's information
} else {
// If sign in fails, display a message to the user.
}
}
Am I not supposed to use dynamic links for firebase authentication? And if so, where in the console do I whitelist domains, because I cannot find it.
Solution 1:
- Go to Firebase Console
- Click Authentication Menu > Sign-in method tab
- Scroll Down to Authorized domains
- Click "Add domain" button, add your domain (website domain with parameter) and click "Add"
Solution 2:
I had the same problem, the reason was my SHA-1 key configured in Firebase was wrong.
Solution 3:
More details:
This issue happen when I tried to sendSignInLinkToEmail
like this
firebase
.auth()
.sendSignInLinkToEmail('[email protected]', {
url: 'my.custom.domain',
handleCodeInApp: true
});
If you come up with default domain in Firebase hosting, that's fine until you add your own custom domain.
This can be solved by add your custom domain to Authorized Domains
in Authentication -> Sign-in Method -> Authrorized Domains