2012-07-12 26 views
2

我想在Salesforce iFrame中显示我的网站,并且当有人在iFrame内部在我的网站上执行任何活动时,我还想更新Salesforce页面?Salesforce中的基于iframe的集成

我可以这样做,请建议?

+0

“Salesforce iFrame”是什么意思?你是否在VF页面上使用iFrame?或者你是否在标准页面布局中使用iFrame? – Anup 2012-07-13 15:00:16

回答

3

最近的一种方法,现在的GA,是Force.com Canvas - 这是基于iframe的附加安全性和功能,包括将诸如Salesforce字段的上下文传递到iframe中。它还使iframed web应用能够使用Canvas框架中的凭证通过JavaScript或后端Web应用(Python,Java等)基于该认证调用Salesforce API。

您还可以使用Canvas中的新事件功能将消息发送到框架Salesforce页面。

关于身份验证选项:推荐使用Canvas签名请求身份验证,但请注意,它不会为OAuth2提供刷新令牌 - 因此,如果您需要根据用户身份验证继续后台处理,则应该改为使用Canvas OAuth2身份验证,它会为您提供刷新令牌。总体而言,Canvas比使用原始iframe更干净,并应简化开发。它确实需要对iframed web应用程序中的身份验证进行一些更改,但它们相对简单(Python的10行左右)。

+0

感谢RichVel。帆布方法看起来不错。我会检查这一点。 – techagrammer 2013-07-16 04:37:53

+0

@techagrammer - 不错,在验证方面也加了一点。 Upvotes当然是一个选项:) – RichVel 2013-07-16 05:34:23

2

您可以使用Javascript和页面刷新将信息发送到父窗口,但这不是我推荐的书籍。出于安全原因,iFrames并不打算与其父站点通信。

您可能想要考虑使用API​​在两个站点之间进行通信。

+0

我同意卢克在这里。浏览器安全性将阻止您与iFrame中的Salesforce页面进行通信。您拥有的最佳选择是利用Salesforce API对系统进行更新,然后您可以使用JavaScript来告诉顶级窗口自行刷新。 – 2012-07-12 16:37:06

+0

他的问题没有明确说明用例。他可能根本不需要iFrame。 – Anup 2012-07-13 15:18:08

+0

在Salesforce中直接使用iframe不是一个好主意 - 使用Force.com Canvas代替Salesforce提供的免费认证 - 一种“增值iframe”。 – RichVel 2013-07-16 05:35:44