firebase - 当用户选择登录链接时出现错误“无效的动态链接 - 被阻止”错误
问题描述
我正在尝试按照此页面上的说明实现无需密码的电子邮件登录,当收件人选择登录消息中的链接时,他们会看到以下消息:
我不明白这个。域 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();
}
}
});
}
});
解决方案
这与动态链接白名单和未授权域或继续 URL 白名单有关。详细了解将动态链接列入白名单。
您需要匹配 Firebase Auth 构造的动态链接的模式。
推荐阅读
- reactjs - 在 Formik 表单中显示 Yup 验证错误后动态更改(i18n)UI 语言,使用钩子 -> 意外行为
- powershell - 带有 Pnp.PowerShell 的新 ListItem
- azure-devops - 是否可以通过 Azure Active Directory 在本地使用 Azure DevOps Server?
- sass - rollup postcss 插件似乎不适用于 scss 和 CSS 模块
- php - 2 个 Laravel 应用程序之间的共享会话不起作用
- reactjs - 用户在 React 上使用 Auth0 进行身份验证后如何重定向到新组件(页面)
- javascript - 不确定我是否正确使用了 setState,因为我的状态在初始加载期间没有更新
- python - Watson 字幕转换器 IndexError:列表超出范围
- mysql - NetSuite 保存的搜索:显示与子项匹配的行项,但也显示没有子项的行项?
- reactjs - 当 Url Typed 我需要在调用 api 时获取 react js 中的单个数据