首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种有效的方法可以从Salesforce访问我的API?

有没有一种有效的方法可以从Salesforce访问我的API?
EN

Stack Overflow用户
提问于 2021-06-23 19:28:58
回答 1查看 111关注 0票数 0

我已经为我的web应用程序构建了一个API,这样客户就可以访问某些功能,而不需要通过仪表板。我已经通过向每个客户提供一个API密钥来保护它,该密钥可以识别他们并限制他们可以连接的IP地址。

我现在收到一位客户的请求,要求允许他们从他们的Salesforce平台访问此API。我对Salesforce知之甚少,当我让他们告诉我他们的IP地址以便我创建他们的API密钥时,他们只能给我Salesforce发布的保留IP地址列表。这个IP空间是巨大的(数百万),覆盖了整个Salesforce,这意味着如果有人获得了API密钥,他们将能够从任何Salesforce帐户使用它。

我读过一些关于Salesforce拥有OAuth服务和某种类型的应用连接服务的东西,但它似乎主要是围绕着允许第三方连接到Salesforce而设计的-我在尝试确定这在我的场景中是否有任何用途时有点陷入困境(这需要在另一个方向上进行身份验证)。

除了简单地在我的API密钥中放置几十个CIDR块之外,我还可以做一些更具体的事情来识别特定的Salesforce客户,我将非常感激。例如,当我的客户调用我的API时,我可以要求他们在referer标头中表明自己的身份,但当然这是很容易欺骗的。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-24 01:44:41

IPs can be spoofed too

Salesforce有一个"protected custom settings"的概念。你可以制作一个“管理包”(Salesforce plugin,但你不需要在他们的appexchange上分发它,Google Play/App Store的等价物),为客户端安装它,然后以一种甚至客户端的系统管理员都无法读取的方式输入设置的API密钥。设置它需要一些工作,但如果你认为你会在这个平台上获得更多的客户,那么它可能会得到回报。

一个粗糙但有效的iframe怎么样?或者一个链接到你的页面,他们会嵌入到他们的应用程序的某个地方?

你只有api密钥吗?如果您公开了OAuth2端点,SF用户可以登录到您的应用程序,然后SF代码可以使用他们得到的access_token而不是API键。或者你可以用证书来保护访问?调用应用程序必须使用证书对请求进行签名。客户可以上传到他们的SF,你可以上传到你的应用程序...

您可以要求API调用包含用户的SF“会话id”,并且可以使用它对源SF org运行一些查询。组织Id,用户的登录历史记录等即使是系统管理员也不可能调整的东西...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68098971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档