有一个web应用程序为Salesforce提供SSO,这是使用keycloak OIDC实现的。
web应用程序提供了一个登录页面,其中有一个使用Salesforce登录选项。
这个web应用程序的URL在Salesforce框架中。iframe未被阻塞,登录页面显示正常。但是当单击"登录Salesforce"时,它会重定向到Salesforce登录页面。这是它抛出一个错误,拒绝连接到*.my.salesforce.com。
注意:
- 这只发生在用户试图从iframe使用SSO登录时。
- 这只发生在用户第一次尝试登录时,即使iframe sso login工作
尝试salesforce设置如下:
- 信任CSP
- 会话设置->可信域和点击劫持。
出于安全考虑,登录页面通常不应该使用框架。如果登录页面通过X-Frame-Options或内容安全策略框架祖先指令限制框架页面,那么您无法在您的端设置任何内容以使其工作。唯一的选择是允许您的网站在Salesforce登录页面上列出帧(如果他们支持这个),或者通过代理路由请求来删除帧(绝对不推荐)。