首页 > 解决方案 > 当用户选择登录链接时出现错误“无效的动态链接 - 被阻止”错误

问题描述

我正在尝试按照此页面上的说明实现无需密码的电子邮件登录,当收件人选择登录消息中的链接时,他们会看到以下消息:

在此处输入图像描述 我不明白这个。域 pento-2a27b.firebaseapp.com 已列入白名单,因为它已包含在授权域列表中:

在此处输入图像描述

和动态链接一样:

在此处输入图像描述

在此处输入图像描述

那么 Firebase 抱怨什么?我尝试发送带有和不带有路径组件“signintoapp”的链接并得到相同的结果。

顺便说一句,我的代码的相关部分如下所示:

        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();

        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();
                            }
                        }
                    });
        }
    });

标签: firebaseemailfirebase-authenticationfirebase-dynamic-links

解决方案


这与动态链接白名单和未授权域或继续 URL 白名单有关。详细了解将动态链接列入白名单。

您需要匹配 Firebase Auth 构造的动态链接的模式。


推荐阅读