适用于租户范围的 Firebase 电子邮件模板

2023-12-23

我修改了“重置密码”的电子邮件模板。如果用户超出 Identity Planform 的租户范围 - 该模板可以正常工作。但是当用户位于租户范围内时 - 模板不起作用。

用户超出范围:

IDP: https://i.stack.imgur.com/CNO8S.png https://i.stack.imgur.com/CNO8S.png

Email: https://i.stack.imgur.com/7B4ra.png https://i.stack.imgur.com/7B4ra.png

租户范围内的用户:

IDP: https://i.stack.imgur.com/Q42EP.png https://i.stack.imgur.com/Q42EP.png

Email: https://i.stack.imgur.com/6dB6o.png https://i.stack.imgur.com/6dB6o.png

export const resetPassword = (email) => async (dispatch) => {
  try {
    const userSnapshot = await firebase.db.collection(USER_DATA_COLLECTION).where('email', '==', email).get();
    firebase.auth.tenantId = userSnapshot.docs[0].data().tenantId;
    return await firebase.doResetPassword(email);
  } catch (e) {
    console.log(e);
  }
};

目前,Google Cloud Identity Platform (GCIP) 和 Firebase Auth 不支持租户特定的电子邮件模板。

您可以更新租户元数据以允许租户继承自定义域、电子邮件模板和自定义 SMTP 设置。如果emailSendingConfig https://cloud.google.com/identity-platform/docs/reference/rest/v2/projects.tenants#inheritance被设定为true租户发送的电子邮件将遵循项目级别的电子邮件发送配置。如果false(默认情况下),电子邮件将采用默认设置,不进行任何自定义(例如,不会应用附加到电子邮件模板的自定义域)。您可以通过执行以下 cURL 命令来设置此字段:

curl -d "{'inheritance':{'emailSendingConfig': true}}"\
-H 'Authorization: Bearer AUTH_TOKEN' \
-X PATCH -H 'Content-Type:application/json' \
https://identitytoolkit.googleapis.com/v2/projects/PROJECT_ID/tenants/TENANT_ID?updateMask=inheritance.emailSendingConfig

传递给上述 cURL 命令的参数的注释

The AUTH_TOKEN将需要列出的范围身份工具包 REST API 文档 https://cloud.google.com/identity-platform/docs/reference/rest/v2/projects.tenants/patch。检索 REST 的身份验证令牌的更简单方法之一 命令是让项目所有者使用OAuth游乐场 https://developers.google.com/oauthplayground/并授权 这Identity Toolkit API v3 范围

TENANT_ID是实际的租户 ID,而不是显示名称,可以通过以下方式获取GCIP > Tenant云控制台页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

适用于租户范围的 Firebase 电子邮件模板 的相关文章

  • 如何通过单击链接并确认弹出窗口来检查两个条件?

    我是 JavaScript 新手 有 2 个 html 链接 li a class dropdown item confirm href wtdata a li li a class dropdown item confirm href f
  • 录制视频和音频并上传到服务器

    我想为网站添加视频录制功能 我一直在搜索并尝试所有可能的可用解决方案 但还没有任何工作正常 我已经尝试过以下解决方案 WebRTC 我知道使用 WebRTC 我们可以从网络摄像头和麦克风获取流 我发现了很多关于相同内容的文章 但没有一篇解释
  • getFieldValue 或 Formik 中的类似内容

    有没有办法获取 formik 中单击处理程序内字段的值 您可以使用setFieldValue在那里 所以我假设 但在任何地方都找不到 Formik 应该有类似的东西来检索值
  • JavaScript 承诺混乱

    我正在尝试理解 javascript Promise 的概念 但我遇到了一些问题 我在本地设置了一个非常小的Web服务 不要生气 该Web服务不符合约定 这里有一些关于它的细节 login
  • Razorpay 支付集成 -> 我如何检测关闭按钮 X 附近的 razorpay 模型

    我在 CI 框架中使用 Razorpay 当用户在没有付款的情况下关闭时 创建 razor 支付模型 然后对于取消订单 我希望通过状态更改为已取消来触发查询 那么我怎样才能检测到这一点 我已经在使用 by click jQuery 点击关闭
  • 使用 Javascript 在前端创建基本 URL(开发、API 和生产)

    无论开发和部署如何 如何制作适用于 http https localhost 端口和实际域的基本 url 我想创建一个可以在所有场景或条件下工作的基本 url 无论 http https 协议 端口 本地主机和实际域如何 无论是在开发中还是
  • 使用 classed("active",true) 鼠标悬停时 D3 颜色变化

    我是 js 和 D3 的新手 我已经生成了某种热图 并且想使用 D3 的 on mouseover 更改图块的颜色 我可以显式更改颜色 但想使用 CSS 活动规则 可能是一些简单的东西可以修复 任何帮助将不胜感激 完整代码如下 Thanks
  • 替换后正确的子串位置

    我有一个由用户提供的这样的函数 function replace function string return string replace smile g replace foo bar baz g text 1 我有这样的输入字符串 v
  • MongoDB:如何在更新之前对查询进行排序

    我正在编写一个 Meteor Node js 应用程序 它在后端使用 MongoDB 在我的代码中的某个时刻 我需要更新specific集合中的文档 我需要使用 Mongo 的 update 方法 但我在传递正确的 复杂的 查询以缩小到该特
  • tinyMCE - 将RemoveFormat限制为格式列表

    当前的tinyMCE版本 3 5 2 Hi 我正在开发一个自定义插件 可以添加和删除自定义格式 http www tinymce com tryit custom formats php 向当前选择添加格式很简单 但我做不到 找到删除多种格
  • 当位置从相对固定变为固定时,div 的宽度会发生变化

    当 div topNav 的位置样式从相对更改为固定时 其宽度会更改几个像素 我找到了一个 jquery 插件 http imakewebthings github com jquery waypoints 它可以优雅地执行我正在寻找的相同
  • 由于运行 Javascript,Firefox 选择下拉列表不断刷新/恢复为默认选项 - AngularJS

    我正在 AngularJS 中构建一个应用程序 但在使用 Firefox 时无法选择下拉菜单 当我单击选择菜单并将鼠标悬停在选项上时 它会将所选选项从光标悬停的选项重置为默认 第一个选项 当选项数量很大时 选择正确的选项变得非常困难 该应用
  • 正则表达式问题 - 在字符串中查找数字

    我目前正在使用 JavaScript 从字段中获取字符串 在该字段中通常会有 宽度 56 空隙 67 我需要做的是识别 1 440 范围内的两个数字 并将它们放入两个不同的字段中 字段 1 宽度 字段 2 无效 我已经研究过正则表达式 到目
  • 在 X 轴刻度上渲染 HTML

    我想在 D3 图表的 x 轴上渲染 HTML 基本上 我希望轴上的每个标签都是到数据中另一列的超链接 我试过了 x domain data map function d return a href d Name a 但它根本不起作用 我得到
  • Phantomjs page.content 未检索页面内容

    我使用 Phantomjs 来抓取使用 JavaScript 和 Ajax 加载动态内容的网站 我有以下代码 var page require webpage create page onError function msg trace v
  • 在相同位置使用 jQuery 将列表框项目移动并删除到另一个列表框

    我有 2 个多选框 如本链接所示 http jsfiddle net bdMAF 38 http jsfiddle net bdMAF 38 function button1 click function list1 gt option s
  • 如何检查令牌过期和注销用户?

    当用户单击注销按钮时 他 她可以自己注销 但是如果令牌过期 他 她就无法注销 因为在我的应用程序中 令牌在服务器端和前端都使用 当用户单击注销按钮时 如果令牌有效 则服务器和浏览器中的令牌都会被清除 当用户未注销并且他 她的令牌过期但未在浏
  • JavaScript - 替换 html 字符串中的特定单词索引

    我在 JS 字符串操作方面面临着一项具有挑战性的任务 有一个 HTML 字符串 我需要在其中替换特定单词索引处的单词 单词索引是忽略 HTML 标签时单词的编号 例如 下面是 HTML 字符串 span style font family
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • React 不适用于 Android 4.4.2 Web 视图浏览器

    React 在我的 Android 手机上不起作用 我不认为这是我的代码错误 因为即使我写的唯一内容是 p hello world p 它仍然没有显示 在 chrome 远程吊顶上查看后 这显示了 Map is not defined 以前

随机推荐

  • 让 Eclipse 使用 src/test/resources 而不是 src/main/resources

    我正在 Eclipse 中编写一个小型 Maven 应用程序 我将一些属性文件和应用程序上下文存储在目录 src main resources 中 我现在想让 Eclipse 使用 src test resources 目录中的属性 所以当
  • 在三元条件下抛出新的异常[重复]

    这个问题在这里已经有答案了 我有这行代码 List
  • C# 十进制的类型后缀

    我不知道我想要实现的目标的正确措辞是什么 因此它可能已经发布在网上 如果是的话请善待 好吧 基本上我有这个方法 public static T IsNull
  • Docker-compose 在运行时使用 NGINX 扩展 Jetty

    我是码头工人的新手 我已经完成了一些教程来创建 docker compose 文件来创建 3 个 Jetty 1 个 NGINX 和 1 个 MySQL NGINX 充当具有循环机制的 LB 它按预期工作良好 如果我扩展我的jetty实例
  • Java NIO:IOException:损坏的管道是什么意思? [复制]

    这个问题在这里已经有答案了 对于我的一些 Java NIO 连接 当我有SocketChannel write ByteBuffer 调用 它会抛出一个IOException 管道破损 是什么导致 管道破裂 更重要的是 是否有可能从该状态恢
  • iBeacons:如果应用程序在后台,locationManager:didEnterRegion:仅在锁屏显示时调用

    我正在开发一个监视 iBeacon 区域的 iOS 应用程序 当应用程序在后台运行时 我希望它在遇到特定的 iBeacon 区域时发送本地通知 一切工作正常 除了一件事 locationManager didEnterRegion 显然不会
  • 绘制植物雌性和雄性性相持续时间

    我很难弄清楚如何我们可以创建一个折线图 其中 Y 轴和 X 轴上都有单个植物一条连续的线分为植物各自的开放期 性期和枯萎期 我有大约 60 株植物 每株都有 5 到 15 朵花 以及它们各自的开放日期 进入雄性阶段的日期 进入雌性阶段的日期
  • 配置 log4j 在运行时记录到自定义文件

    任何人都可以指导我如何配置 log4j 以记录到我在运行时指定的特定文件 日志文件的名称和路径是在运行时生成的 应用程序必须记录到该特定文件 通常 log4j properties 文件中的文件附加器条目指向应用程序将使用的日志文件 但是在
  • 快速且Python式地确定字符串是否为回文的方法

    编辑 正如有人指出我不正确地使用了回文概念 现在我已经使用正确的函数进行了编辑 我还在第一个和第三个示例中做了一些优化 其中 for 语句一直运行到到达字符串的一半 我为检查字符串是否为回文的方法编写了三个不同版本的代码 该方法作为类 st
  • 如何使用 Tesseract-android-Tools

    我有 tesseract android tools 1 00 请帮助我使用 TessBaseAPI 接口 我只想将一个 jpg 图像传递给一个 Android 应用程序 该应用程序将一些文本作为图像的一部分 然后通过这个超立方体引擎我想将
  • Firefox 无法正确渲染 svg

    我在 Firefox 中遇到了这个问题 或者可能是我使用了错误的东西 但我使用的是这样的 svg 图像 img src image svg alt some image 浏览器将它们呈现如下 我可以让他们像 png它工作得很好 但我需要它们
  • PHP字符串计算[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我的问题是 在 PHP 中如何从字符
  • System.InvalidOperationException:异步操作尚未完成

    安装导致 Ml net 异常的管道 这Fit不是一个等待的事情 我很困惑为什么会发生这种情况 任何帮助都是值得赞赏的 var model pipeline Fit dataView 堆栈跟踪 在 System Threading Chann
  • 启动时自动运行 EFI 应用程序

    I can 构建并手动执行 http sourceforge net apps mediawiki tianocore index php title Getting Started Writing Simple ApplicationUE
  • Python:返回完整单词而不仅仅是字符串的特定部分(正则表达式)

    我最近刚刚开始学习 Python 并且已经 深入 到了正则表达式 我的任务看起来相当简单 我只需要编写一个从字符串返回某些单词的正则表达式 规则如下 单词只能包含一组元音 换句话说 它是一个不完美但简单的正则表达式 旨在从文本中返回一个音节
  • 获取Python中类的类路径或名称空间,即使它是嵌套的

    我目前正在用 Python 编写一个序列化模块 可以序列化用户定义的类 为了做到这一点 我需要获取对象的完整名称空间并将其写入文件 然后我可以使用该字符串重新创建该对象 例如 假设我们在名为的文件中有以下类结构A py class B cl
  • Nifi 无法使用 POI API 将 CSV 转换为 Excel

    我想使用 groovy 脚本 POI API 将 csv 流文件内容转换为 XLS 文件 我正在使用 ivy 来获取 POI 依赖项 看起来效果很好 请在下面找到更多详细信息 这是我的 Nifi 流程 这是我的脚本 Grapes Grab
  • .asciz 和 .string 汇编器指令之间有什么区别?

    我知道 ascii指令不会在字符串末尾放置空字符 因为 asciz指令就是用于此目的 不过 我不知道是否 string指令在字符串末尾放置一个空字符 如果它确实附加了空字符 那么两者之间有什么区别 asciz和 string指令 对我来说
  • 通过 javascript 自定义验证器错误文本?

    我想通过客户端 JavaScript 设置 ASP net 自定义验证器错误参数文本 如何通过函数中的 sender args 参数访问它 您需要做的就是在中定义回调方法客户端验证函数 http msdn microsoft com en
  • 适用于租户范围的 Firebase 电子邮件模板

    我修改了 重置密码 的电子邮件模板 如果用户超出 Identity Planform 的租户范围 该模板可以正常工作 但是当用户位于租户范围内时 模板不起作用 用户超出范围 IDP https i stack imgur com CNO8S