2

我修改了“重置密码”的电子邮件模板。如果用户不在身份计划表上的租户范围内 - 模板可以正常工作。但是当用户在租户范围内时 - 模板不起作用。

用户超出范围

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

电子邮件:https ://i.stack.imgur.com/7B4ra.png

租户范围内的用户

IDP:https ://i.stack.imgur.com/Q42EP.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);
  }
};
4

2 回答 2

0

您可以调用管理 API 来继承emailSendingConfig。从租户发送的电子邮件现在将遵循项目级电子邮件发送配置。

于 2021-08-12T21:10:43.410 回答
0

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

您可以更新租户元数据以允许租户继承自定义域、电子邮件模板和自定义 SMTP 设置。如果emailSendingConfig设置为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 命令的参数注意事项

这将需要Identity Toolkit REST API 文档AUTH_TOKEN中列出的范围。为 REST 命令检索身份验证令牌的一种更简单的方法是让项目所有者使用 OAuthPlayground并授权 Identity Toolkit API v3 范围

Identity Toolkit API v3 范围

TENANT_ID是实际的租户 ID,而不是显示名称,这可以通过GCIP > TenantCloud Console 页面获取。

于 2022-01-31T18:44:23.603 回答