如何从我的应用程序无缝登录salesforce,该应用程序使用Azure AD作为身份验证提供程序

时间:2015-08-04 04:06:47

标签: azure iframe oauth active-directory saml

我们有自定义应用程序,目前有自定义登录页面。 它使用Oauth2密码授予类型与Azure AD集成。 这目前有效。

登录应用程序后,在网站的某个特定部分,我们需要通过iframe嵌入安全的salesforce页面。

此salesforce页面设置为在同一个Azure AD帐户中使用oauth - 在应用程序之外,如果我们转到salesforce页面,它将重定向到azure登录页面(不是我们的自定义登录页面),然后我们就可以登录并查看salesforce部分(任何后续访问都不需要登录提示,因为浏览器已经识别出您之前已登录)

但是,如果我们通过iframe嵌入安全的salesforce页面,我们会得到一个

Refused to display http://xxx in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

我们假设因为Oauth2规范不允许这种类型的事情,请参阅:http://tools.ietf.org/html/draft-ietf-oauth-v2-23#section-10.13

在我们的网站上嵌入安全的salesforce页面的唯一方法是使我们的网站成为SAML提供商,以便我们能够解决这个特定的oauth限制吗?

如果SAML是要走的路,那么这个设置将如何实现(努力寻找如何按照我们想要的方式设置它的信息) - 我们可以保留自己的登录页面(通过一些SAML特定的更改)或者将被迫使用Azure登录页面?

1 个答案:

答案 0 :(得分:0)

X-Frame-Options HTTP标头与OAuth无关。这是一个安全功能,告诉浏览器不在iframe中加载页面。此字段通常用于防范clickbait攻击。

如果服务器使用此标头进行响应,则通常无法在iframe中显示该页面。