如何在未经授权的情况下将请求从累积性应用程序发送到微服务

时间:2019-02-15 10:55:41

标签: cumulocity

在Cumulocity(托管)中,我们有自己的应用程序,其中包含使用AngularJS编写的插件。

我们希望从此应用程序向我们也正在运行的微服务发送请求。

但是,微服务在发送获取请求时会询问授权信息。 (如何)我们能克服这个问题吗?

我们之所以决定这样做,是因为我们不必公开关键信息。

谢谢

2 个答案:

答案 0 :(得分:0)

所有微服务调用都需要使用租户中的有效用户进行身份验证。

如果您真的想公开一些未经身份验证的内容,则可以在租户中创建一个没有其他权限的虚拟用户,并在AngularJS代码中对该用户的凭据进行硬编码。但是,这对您来说是一种风险,因为它使恶意用户很容易用可能收取费用的API请求轰炸您的租户(取决于您的服务提供商的定价模式)。

如果要公开的信息不是动态的(可能是租户配置),则可以将这些信息作为Web应用程序的一部分上载。例如,您上载带有单个文件“ config.json”的“ config”应用程序,并使用URL /apps/config/config.json从AngularJS应用程序中加载该应用程序。不确定是否是您的情况。

答案 1 :(得分:0)

所有对Cumulocity的请求,包括对微服务的请求,都必须经过完全身份验证。没有有效的凭据,无法访问微服务。

平台需要此信息来确定用户和租户是否具有足够的访问权限来执行请求的操作。即使您的微服务不需要特殊权限也可以访问。累积性至少需要检查是否允许原始租户使用微服务。