Twilio Flex 插件环境变量

标签 twilio twilio-flex

在 Twilio Flex 插件上为不同环境管理不同变量的最佳方法是什么?

我有两个环境,staging(dev) 和 Prod,staging 将部署 Dev Branch 上的内容,Prod 将部署 Master Branch 上的内容。如何为两者设置不同的变量,例如 API 端点、workspaceSid 和类似的东西?

干杯

最佳答案

和你有同样的想法。 Flex 插件实际上是上传到 Twilio Runtime 服务,但它仅用于托管静态 Assets ,您无法向其中添加自己的 Node.js 函数,因此您无法使用通常会使用的环境变量运行时服务。
Flex 中类似环境变量的实例特定配置的解决方案似乎是 Flex 配置对象。这在这个答案中有所描述:
https://stackoverflow.com/a/59432812/152891
以及文档中的此页面:
https://www.twilio.com/docs/flex/developer/ui/configuration
基本上,您可以使用 API 将您自己的配置值添加到每个环境的 JSON 对象中,然后从您的 Flex 插件中访问这些值,地址为 manager.serviceConfiguration。 .
请注意,即使文档没有提及,这些方法也可以通过 Twilio CLI 获得。在:

twilio api:flex:v1:configuration:fetch   -- fetch a Configuration resource
twilio api:flex:v1:configuration:update  -- update a Configuration resource
文档中也没有明确提到您可能希望将注意力集中在顶级键 attributes , crm_attributes , 和 ui_attributes .如果您使用 TypeScript 构建插件,ServiceConfiguration 有一个类型化接口(interface)。 , 但这些属性是 any类型,因此您可以添加自己的子属性,而当您尝试访问它们时,编译器不会对您大喊大叫。
另一件值得注意的事情是,您不能像对待环境变量一样对待它们,因为它们暴露给客户端。如果你有敏感的 secret ,你应该将必要的功能放到后端(比如在 Twilio Runtime 中),在那里你可以安全地使用环境变量,然后使用 JWT 和 twilio-flex-token-validator 验证从 Flex 到该后端的请求。此处描述的模式:
https://www.twilio.com/docs/flex/developer/plugins/call-functions#securing-your-twilio-function

关于Twilio Flex 插件环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60932663/

相关文章:

python - Twilio session 主持人和参与者姓名

java - 成功后如何从 Parse Cloud 将验证码发送回我的应用程序?

twilio - 使用 twilio flex,如何使用外部电话(不是代理或队列)创建热传输

twilio - 替换 Twilio Flex Logo

node.js - 为什么我没有收到我购买的 twilio 号码的消息?

json - Twilio HTTP 响应 : Not parsing XML/JSON

java - TwinML Java 说 : Cyrillic letters are not read

twilio - 对于 Twilio Flex 中的语音任务,如何获取当前 session ConferenceSid?

twilio - 当客服人员将调用者置于等待状态时,如何更改音乐?