配置
配置 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
值。