Getting error "Invalid Dynamic Link - Blocked" error when user selects Login link

15,631

This is related to Dynamic Links whitelisting and not authorized domain or continue URL whitelisting. Learn more about whitelisting dynamic links.

You need to match the pattern of the dynamic link that Firebase Auth constructs.

Share:
15,631

Related videos on Youtube

FractalBob
Author by

FractalBob

I'm an inventor and software developer (Android and Java, mostly), currently running my company, ChiaraMail. We make fun and cool products, mostly for Android devices.

Updated on June 04, 2022

Comments

  • FractalBob
    FractalBob over 1 year

    I'm trying to implement email sign-in without password, as per the instructions on this page and when the recipient selects the link in the login message, they see the following message:

    enter image description here I don't get this. The domain pento-2a27b.firebaseapp.com IS whitelisted, since it's already included in the list of authorized domains:

    enter image description here

    as is the dynamic link:

    enter image description here

    enter image description here

    so what's Firebase complaining about?I tried sending the link both with and without the path component 'signintoapp' and got the same result.

    BTW, the relevant parts of my code look like the following:

            final ActionCodeSettings 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://pento-2a27b.firebaseapp.com")
                        // This must be true
                        .setHandleCodeInApp(true)
                        .setAndroidPackageName(
                                "com.chiaramail.pento",
                                true, /* installIfNotAvailable */
                                "140"    /* minimumVersion */)
                        .build();
    

    and

            alertContinue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mAuth.sendSignInLinkToEmail(emailAddress.getText().toString(), actionCodeSettings)
                        .addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                if (task.isSuccessful()) {
                                    Log.d(TAG, "Email sent.");
                                    signinAlert.dismiss();
                                    settings = getSharedPreferences("Five-to-Go settings", Context.MODE_PRIVATE);
                                    SharedPreferences.Editor editor = settings.edit();
                                    editor.putString("EMAIL", emailAddress.getText().toString());
                                    editor.commit();
                                    Toast.makeText(LoginActivity.this, getString(R.string.email_confirmation_sent),
                                            Toast.LENGTH_LONG).show();
                                }
                            }
                        });
            }
        });
    
  • FractalBob
    FractalBob about 4 years
    I already whitelisted the domain; didn't help, but thanks for the suggestion.
  • FractalBob
    FractalBob about 4 years
    Sorry, I misread your comment and have since whitelisted the dynamic link (I added ^pentoapp\.page\.link/mBKw to the whitelist). Didn't help, unfortunately.
  • FractalBob
    FractalBob about 4 years
    Note that I updated my original post as per the above.
  • Andy Voelker over 3 years
    @FractalBob - did you ever find the answer to this? I'm facing a similar situation: stackoverflow.com/questions/60143977/…
  • FractalBob
    FractalBob over 3 years
    @AndyVoelker Yes, I did, and it was simpler than I thought: all I had to do was specify the URL of my app in Google Play and then whitelist that URL. I don't think that's going to help you, though, because you're dealing with an iOS app that works for some devices and not others. BTW, I also have an iOS version of the app and setting it up in Firebase was straightforward.