无法针对C4C中的HTML-Mashup嵌入式SCP应用程序进行身份验证

2020-08-14 03:40发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我想用托管在CF上的SCP应用程序扩展SAP C4C。 我一直在遵循此指南:在Cloud Foundry环境上手动为客户扩展SAP Cloud

https://help.sap.com/viewer/ 462e41a242984577acc28eae130855ad/Cloud/zh-CN/1150e4395ba6487bad2a7164db7ea417.html

一切正常,除了,使用C4C中的HTML Mashup对扩展应用程序进行身份验证。

如果用户通过配置的IdP与C4C开始新的会话,则无法显示混搭。 原因是SCP身份验证服务不允许通过设置标头字段X-Frame-Options:DENY在iframe中显示。 由于C4C中的HTML混搭已嵌入到iframe中,因此加载混搭失败。

失败的过程:

  1. 用户打开一个新的浏览器会话(未登录到IdP)
  2. 用户打开C4C-重定向到IdP
  3. 用户登录到IdP,并重定向到C4C(已认证)
  4. 用户使用C4C中的HTML混搭打开屏幕
  5. Mashup iframe加载应用程序页面(通过CF approuter)
  6. CF approuter重定向到CF身份验证服务https:// 。 authentication.eu10 .hana.ondemand.com/oauth/authorize?response_type = code&client_id = sb-poc_oauth_c4c!t38354&redirect_uri = >
  7. 在HTML Mashup iframe中加载身份验证服务失败:
    "拒绝显示'https:// 。 authentication.eu10.hana.ondemand.com/login " 框架,因为它将" X-Frame-Options"设置为" deny""

消息正确:

X-Frame-Options:DENY将使浏览器拒绝处理对SCP CF身份验证服务上的登录名的重定向。 SSO失败,并且Mashup无法加载。

注意:如果用户已经通过SCP认证,则混搭可以正常工作。 因此,如果用户首先访问扩展应用程序(或SCP上的任何其他应用程序)并进行身份验证,则不会重定向到SCP身份验证服务,并且可以加载混搭。 显然,这不是有效的用例的解决方案。


1。 我在这里想念什么吗? 我很困惑扩展指南中描述的概念应该如何工作。

2。 有没有人让SSO的SCP扩展与C4C一起工作? 有什么建议吗?

最诚挚的问候,

Manuel

(131.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


尊敬的专家,

我想用托管在CF上的SCP应用程序扩展SAP C4C。 我一直在遵循此指南:在Cloud Foundry环境上手动为客户扩展SAP Cloud

https://help.sap.com/viewer/ 462e41a242984577acc28eae130855ad/Cloud/zh-CN/1150e4395ba6487bad2a7164db7ea417.html

一切正常,除了,使用C4C中的HTML Mashup对扩展应用程序进行身份验证。

如果用户通过配置的IdP与C4C开始新的会话,则无法显示混搭。 原因是SCP身份验证服务不允许通过设置标头字段X-Frame-Options:DENY在iframe中显示。 由于C4C中的HTML混搭已嵌入到iframe中,因此加载混搭失败。

失败的过程:

  1. 用户打开一个新的浏览器会话(未登录到IdP)
  2. 用户打开C4C-重定向到IdP
  3. 用户登录到IdP,并重定向到C4C(已认证)
  4. 用户使用C4C中的HTML混搭打开屏幕
  5. Mashup iframe加载应用程序页面(通过CF approuter)
  6. CF approuter重定向到CF身份验证服务https:// 。 authentication.eu10 .hana.ondemand.com/oauth/authorize?response_type = code&client_id = sb-poc_oauth_c4c!t38354&redirect_uri = >
  7. 在HTML Mashup iframe中加载身份验证服务失败:
    "拒绝显示'https:// 。 authentication.eu10.hana.ondemand.com/login " 框架,因为它将" X-Frame-Options"设置为" deny""

消息正确:

X-Frame-Options:DENY将使浏览器拒绝处理对SCP CF身份验证服务上的登录名的重定向。 SSO失败,并且Mashup无法加载。

注意:如果用户已经通过SCP认证,则混搭可以正常工作。 因此,如果用户首先访问扩展应用程序(或SCP上的任何其他应用程序)并进行身份验证,则不会重定向到SCP身份验证服务,并且可以加载混搭。 显然,这不是有效的用例的解决方案。


1。 我在这里想念什么吗? 我很困惑扩展指南中描述的概念应该如何工作。

2。 有没有人让SSO的SCP扩展与C4C一起工作? 有什么建议吗?

最诚挚的问候,

Manuel

(131.7 kB)
付费偷看设置
发送
4条回答
渐行渐远_HoldOn
1楼 · 2020-08-14 04:12.采纳回答

我终于解决了这个问题。

结果证明,UAA服务上有一个设置" iframeDomains"。 不幸的是,这似乎没有文档记录,也没有UI。 我找到的唯一文档(针对我遇到的相同问题)是关于SAP Conversational AI的:

查看器/eafc53387d0d46a887611a1f48ca6d23/1911/zh-CN/e409c11690474c9ea5b9e35f29d4e9c9.html#loio82285888d0f0473e95b19f29c27d5f12

对于C4C,此问题现在有了新注释 https://launchpad.support .sap.com/#/notes/2912358 。 但是,像Conversational AI这样的文档应将其添加到将CF应用程序嵌入其他应用程序的任何位置,例如我遵循的C4C扩展指南。

软件心理学工程师
2楼-- · 2020-08-14 04:00

Hi Manuel,

< 很好,您已经分享了您的解决方案。 在 SAP Analytics Cloud(SAC)中,我也遇到了类似的问题 其中具有添加嵌入式网页的功能 。 我已按照注释 2912358中的描述进行操作-将XSUAA登录页面嵌入到iFrame中-SAP Cloud Platform Cloud Foundry ,但只有正确设置了Content-Security-Policy。 X-Frame-Options仍然是:

 X-Frame-Options:DENY 

现在将提交事件。

最诚挚的问候
Gregor

何必丶何苦呢
3楼-- · 2020-08-14 03:52

嗨曼纽尔,

根据我过去的经验,我知道SAP IDS具有一个clickjacking框架保护框架,因此,他们不允许那样构成框架IDS服务。 但是,如果您有一个自定义IDS租户,那么他们在SAP IDS租户中确实有一个可以配置的部分,他们可以通过"受信任的域"应用程序在iframe中调用您的IDS。 您可以转到:应用程序和资源->租户设置->受信任的域,并为您的c4c URL添加一个新条目,即my3 *****。 crm.ondemand.com 。 或对于任何C4C租户,您都可以输入*。 crm.ondemand.com 通配符模式。您可以参考: https://help.sap.com/viewer/fd39efd120a74b37a1acca61d63bacaf/Cloud 详情请访问03fd4358fcb34198b904a8a77ac69538.html

AFAIK,只能在自定义IDP中完成对受信任域的配置,因此请检查是否已配置了客户IDS。

更多详细信息:

https://apps.support.sap.com/sap/support/knowledge/public/zh/2597946

BR
Saurabh

xfwsx85
4楼-- · 2020-08-14 03:55

请参阅我的答案。 事实证明,授权服务上存在一个非文档设置,我们可以通过设置API进行更改。

一周热门 更多>