【发布时间】:2020-05-08 11:17:58
【问题描述】:
我正在尝试使用 Cumulocity Java SDK 在 Scala 中创建一个微服务,但我无法使用 C8Y_BASEURL、C8Y_PASSWORD、C8Y_USER 环境变量对其进行身份验证。
下面是简单的代码:
val C8Y_USER = sys.env.getOrElse("C8Y_USER", "no value for C8Y_USER")
val C8Y_PASSWORD = sys.env.getOrElse("C8Y_PASSWORD", "no value for C8Y_PASSWORD")
val C8Y_BASEURL = sys.env.getOrElse("C8Y_BASEURL", "no value for C8Y_BASEURL")
val platform = new PlatformImpl(C8Y_BASEURL, new CumulocityCredentials(C8Y_USER, C8Y_PASSWORD))
val alarmsRepresentation = platform.getAlarmApi.getAlarmsByFilter(new AlarmFilter().byStatus(CumulocityAlarmStatuses.ACKNOWLEDGED)).get(2000)
代码结果是:
{error="security/Unauthorized",message="Invalid credentials!",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}
奇怪的是,如果我在完整的租户 URL 中使用相同的用户和密码,那么微服务就可以工作。例如:
val C8Y_USER = sys.env.getOrElse("C8Y_USER", "no value for C8Y_USER")
val C8Y_PASSWORD = sys.env.getOrElse("C8Y_PASSWORD", "no value for C8Y_PASSWORD")
val C8Y_TENANT = sys.env("C8Y_TENANT")
val C8Y_BASEURL = "https://" + C8Y_TENANT + ".myparenttenant.com"
所以最后唯一不同的是 C8Y_BASEURL,使用默认的 C8Y_BASEURL 值是 http://cumulocity:8111 这不起作用,我自己的构建值是:https://subtenant.myparenttenant.com 效果很好!
有什么帮助吗?
【问题讨论】:
标签: scala cumulocity