配置
配置 RainMaker 平台
配置验证信息的电子邮件模板
用户注册时,RainMaker 平台会向其发送一封包含验证码的电子邮件。用户使用移动设备登录时需使用这一验证码来验证账号。
您需要具备管理员权限才可以在 RainMaker 管理面板上自定义验证邮件的模板。
配置电子邮件模板的具体步骤如下。
使用管理员帐户登录 RainMaker 管理面板。
点击 Deployment Settings。
点击 Email Configurations。

模板类型 Template Type 保持默认设置—— Welcome Email Notification。
您可以对电子邮件主题 Subject 进行更改。
接下来您可以根据需求更改邮件模板 Template。可以使用简单文本,也可以添加有效的 HTML。
请注意,您需要在模板中加入字符串 {####}。该字符串由占位符组成,AWS 服务将会自动填充验证码。
完成更改后,点击 Set Email Template。
创建新账号时,用户收到的验证邮件将遵循这一模板。

配置自定义域名
想要使用第三方身份供应商(例如谷歌、苹果)进行登录,并将 Alexa 和谷歌语音助手账号与 RainMaker 账号相关联,必须使用 Cognito 域。
Cognito 域名用于创建注册和登录网页的 URL,这些网页用于第三方身份供应商和语音助手集成。
配置 Cognito 域名,请参考以下步骤:
用超级管理员账号登录 RainMaker 管理面板。
打开
Deployment Settings标签页。打开
Cognito Configurations标签页。输入自定义域名,如下图所示:

注意: 自定义域名中只能包含小写字母、数字和连字符。
配置 Cognito 回调 URL
想要使用第三方认证服务,并将 Alexa 和谷歌语音助手账号与 RainMaker 账号相关联,需要使用回调 URL。用户使用第三方认证服务成功登录后,将被重定向至这些网页之一。
配置回调 URL,请参考以下步骤:
用超级管理员账号登录 RainMaker 管理面板。
打开
Deployment Settings标签页。打开
Cognito Configurations标签页。在
Callback URLs一栏中输入合适的 URL,如下图所示。多个回调 URL 可用逗号隔开。

配置第三方登录
用户可以使用第三方登录。您需要在第三方身份提供商处创建开发者账户并注册您的应用。配置第三方登录需要使用您在注册应用时收到的应用凭证。 RainMaker 支持的第三方身份提供商包括谷歌和苹果。
向第三方身份提供商注册应用时,需要使用到您在 配置自定义域名 步骤中配置的自定义域名。
配置谷歌登录
配置谷歌登录的详细步骤,请参阅 谷歌登录。
配置 SignInWithApple 登录
配置苹果登录的详细步骤,请参阅 苹果登录。
设置 MFA(可选)
管理员用户可以设置多重要素验证 (Multi-factor authentication, MFA) 以提高安全性。配置该功能后,系统将在每次登录时向管理员的手机发送验证码。在配置该功能前,您需要首先 增加 SNS 发送限制。
用管理员账户登录 RainMaker 管理面板,打开
Deployment Settings>MFA Configuration。
要添加或更新收取验证码的手机号码,请输入新的国家地区号码和手机号码,并点击
Update。
注意 - 若您已添加过电话号码,请直接跳过第二步和第三步。
收到新的验证短信后,输入该验证码。

此时,验证电话号码已更新,您可以使用切换键启用 MFA。

注意 - 您也可以随时使用切换键禁用 MFA。
MFA 已设置成功。
注意 - 该功能将从下一次登录开始启用,登录时,初始密码验证后会出现 MFA 提示。

配置 DNS 域名(可选)
RainMaker 后端和前端堆栈部署成功后,您可以使用生成的 URL 访问 API 端点和管理面板。
您也可以通过配置 Route 53 服务,为您的组织配置相应的域名。
在 Route 53 中创建托管区域
第一步是创建托管区域,这一区域与您的域注册商相关。
详细步骤请参阅 创建公有托管区域。
将托管区域映射至 DNS 注册商
您可能正在使用其他提供商的服务(如 GoDaddy)进行域名映射。
在这种情况下,您需要把您在 Route 53 中创建的托管区映射到您目前使用的 DNS 提供商。
详细步骤请参阅 将 Route 53 作为正在使用的域的 DNS 服务。
如果您原本使用的 DNS 提供商是 GoDaddy,可以参考 如何将 DNS 从 GoDaddy 迁移至 AWS Route 53。
将 API 网关终端节点与 DNS 域名进行映射
完成托管区域与当前 DNS 提供商之间的映射后,您需要将 API 网关终端节点配置到 Route 53 托管区域。
关于 API 网关终端节点与 DNS 域名映射的具体步骤,请参阅 使用域名将流量路由到 Amazon API Gateway API。
请注意,您需要将 API 终端节点类型设置为 Edge。
配置完成后,API 网关和自定义域名的配置页面将如下所示:

API 网关的 Route 53 配置页面将如下所示:


配置 RainMaker 管理面板的域名映射
部署 RainMaker 前端 SAR 栈时,系统将同时部署所需的用户界面组件并创建 CloudFront 分配。
这一过程设置了用于缓存用户界面的内容分发网络 (Content Delivery Network),并为用户管理面板提供了 SSL 连接。
您可以为您的组织创建特定域名,管理员用户可使用该域名访问管理面板。
查看 CloudFront 分配,请在 AWS 控制台搜索 "CloudFront" 服务。


为 CloudFront 分配配置 Route 53 DNS 映射,请参阅 使用域名将流量路由到 Amazon CloudFront 分配。
为 CloudFront 分配配置 DNS 映射后,CloudFront 页面将如下所示:

用于创建 CloudFront 分配的 Route 53 页面将如下所示:

为天气 API 配置基于位置的触发器
创建 Open-Weather 账号
- 首先需在 https://home.openweathermap.org/users/sign_up 注册账号。
- 注册后,查看电子邮件中的验证信息,并按照说明确认电子邮件地址。
- 电子邮件通过验证后,您将收到一封包含 API 密钥的电子邮件,该密钥会在几个小时内激活。
在 RainMaker 中配置基于天气的自动化
- 在 Postman 中使用超级管理员账号登录 RainMaker。

打开 Swagger 链接 https://swaggerapis.rainmaker.espressif.com/#/Deployment%20Setting/cofigureServiceConfiguration,访问并配置位置触发器的部署设置。
在
Request body下方,单击下拉菜单并选择Location Trigger Configurations,查看 JSON 请求示例。
在 Postman 中创建新的 API 请求。
PUT:{{url}}/v1/admin/deployment_settings/config/location_triggerParams:键 值 service location_trigger Header:键 值 Authorization {{access_key}} Body:选择
Raw,点击下拉菜单并选择JSON。 在Body部分添加以下 JSON 代码并点击Send。
{
"weather_trigger_api_key": "<add_your_key>",
"weather_trigger_polling_interval": 30,
"weather_trigger_host_url": "https://api.openweathermap.org/data/2.5/weather?units=metric"
}
参考以下截图。

使用触发器
如需参考请求实例,请访问 https://swaggerapis.rainmaker.espressif.com/#/Automation%20Trigger%20and%20Actions/addAutomationTriggerAction。
在Request body下方,单击下拉菜单并选择Add Weather-based Automation Trigger。
在 Postman 中创建新的 API 请求。
POST:{{url}}/v1/user/node_automationHeader:键 值 Authorization {{access_key}} Body: 为需要应用自动化触发器的节点更改node_id值。
使用基于日光的自动化触发器
- 如需参考请求实例,请访问 https://swaggerapis.rainmaker.espressif.com/#/Automation%20Trigger%20and%20Actions/addAutomationTriggerAction。
在
Request body下方,单击下拉菜单并选择Add Weather-based Automation Trigger。

在 Postman 中创建新的 API 请求。
POST:{{url}}/v1/user/node_automationHeader:键 值 Authorization {{access_key}} Body: 为需要应用自动化触发器的节点更改node_id值。
