Office 365 高级威胁防护正在标记我的 Firebase 身份验证电子邮件

Office 365 Advanced Threat Protection is flagging my Firebase Authentication emails

我今天才意识到,从我完全合法的 Firebase 后端发送的授权电子邮件被 Microsoft Outlook "Advanced Threat Protection"

标记为恶意邮件

这没有其他原因,可能是因为我为了测试功能而向自己发送了重复的确认电子邮件,因此在开发过程中被标记了。

此警告不会出现在常规 hotmail/outlook 帐户中,但我是 Office 365 订阅者,所以看来我很幸运能够获得此 "advanced" 保护,保护我免受我的攻击拥有完全非恶意的网站。

我应该联系 Microsoft 还是 Firebase 寻求解决方案?

非常感谢!

更新:我联系了 Firebase 支持并收到以下信息:

My name is XXXX from Firebase Support, thank you for reaching out to us, problems on Microsoft services such as this “Advanced Threat Protection” is not in my area or expertise, I would suggest to open a ticket with Microsoft for this issue, I see that there is already a topic on Stack Overflow, please be sure to check other Firebase community channels as well.

我知道这不是 Google 需要解决的问题,但似乎任何使用电子邮件验证的 Firebase 应用程序都会 运行 陷入 Microsoft 电子邮件系统的麻烦。这是很多企业和政府系统...

关于如何从 Google 或 Microsoft 那里获得一些关注的任何建议?

原因

此错误是由于电子邮件中的域不一致造成的。默认情况下,用户管理会通过电子邮件 link 将默认操作处理程序发送给默认操作处理程序,该处理程序是托管在您项目的 Firebase 托管域([project].firebaseapp.com 中 URL 的网页]),而不是您发送电子邮件的同一个域 (veritification@yourdomain.com)。

解决方案 使此“操作 link”直接转到您的网站。这将解决 outlook 警告,并降低您最终进入垃圾邮件过滤器的可能性。在您的网站上,您有 2 个选项来处理实际验证。

以下两种解决方案都需要您的域获得授权。

这可以在身份验证 -> 登录提供商 -> 授权域下完成

选项 1 - 使用自定义电子邮件操作处理程序(困难选项)

您可以设置 custom email action handler 以便这些操作直接在您的网站上进行,而不是在 firebase 托管页面上进行。这是一个更完整的体验。

这个可以处理

  • 重置密码
  • 撤消电子邮件地址更改——当用户更改时 他们帐户的主要电子邮件地址,Firebase 会发送电子邮件至 他们的旧地址允许他们撤消更改
  • 验证电子邮件地址

1。创建您的自定义电子邮件处理程序页面

custom email action handler page - firebase docs

2。在 Firebase 中更新电子邮件模板

这可以在身份验证 -> 模板 -> 电子邮件地址验证 -> 自定义操作下完成 URL

选项 2 - 直接重定向(简单选项)

Link 将电子邮件返回到您网站上的一个页面,该页面将立即执行 javascript 重定向到 [项目]。firebaseapp.com认证页面,携带URL参数进行必要的验证和修改。

例如

  • 电子邮件模板的操作 url:https://www.yourdomain.com/account-action(firebase 会自动将适当的参数附加到 url)
  • Javascript 在您的网站上重定向到 ”https://project-name.firebaseapp.com/__/auth/action?” + params

我建议您确保在发送验证电子邮件时实施 continueUrl,以便用户可以轻松返回您的网站。

如果您使用的是 Firebase 托管,并且您从他们的内置 your-project.web.app 地址提供服务,那么您只需使用另一个内置 your-project.firebaseapp.com 作为您的网站地址——无需配置。

.web.app地址有点性感,但各种动作邮件实际上是从.firebaseapp.com发送的,Outlook怀疑不匹配。让用户来自 .firebaseapp.com 地址可以解决问题。

我打开了一个关于这个的 GitHub 问题:https://github.com/firebase/firebase-js-sdk/issues/5021][1]