SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成

SAP Customer Data Cloud Integration

Spartacus 3.2 版可用。

SAP Customer Data Cloud 允许您启用自定义注册和登录,还可以管理用户配置文件和同意。

需要的系统配置:

  • SAP Commerce Cloud 2011 以及 SAP Commerce Cloud 集成扩展包 2108

  • SAP Commerce Cloud 2005 以及 SAP Commerce Cloud 集成扩展包

  • SAP Commerce Cloud 1905,以及最新版本的 Commerce Cloud 扩展包

要在 Spartacus 中启用 SAP Customer Data Cloud Integration,您需要配置 Commerce Cloud 后端和 Spartacus 前端。

在 Commerce Cloud 后台所需的配置

为 B2C 启用 SAP Customer Data Cloud 扩展。构建和更新系统,以便 SAP Customer Data Cloud 集成扩展提供的新功能可用。此步骤还为 electronics-spaContentCatalog 内容目录创建示例CMS 数据。

您可以通过 /cdc/login URL 查看 SAP Customer Data Cloud 登录页面。 这允许您同时访问客户数据云页面和默认登录页面。

更新 mobile_android OAuth 客户端(在步骤 1 中创建)以支持自定义授权授予类型,并删除 refresh_token 授予类型。以下 ImpEx 可用于更新授权类型:


INSERT_UPDATE OAuthClientDetails ; clientId[unique = true] ; resourceIds ; scope ; authorizedGrantTypes ; authorities ; clientSecret ; registeredRedirectUri ; mobile_android ; hybris ; basic ; authorization_code,password,client_credentials,custom ; ROLE_CLIENT ; secret ; http://localhost:9001/authorizationserver/oauth2_callback

不支持刷新令牌。 这可确保来自 Commerce Cloud 的令牌和 SAP Customer Data Cloud 登录会话保持相同的持续时间。

定义 SAP Customer Data Cloud 站点配置并将其链接到 electronics-spa.

SAP Spartacus 端的配置

通过从店面应用程序的根目录中运行以下命令来安装 SAP Customer Data Cloud 集成库。

ng add @spartacus/cdc

运行此命令时,Schematics 会为 CDC 集成创建一个模块,其中包含所有必需的导入和配置。

要使用 Schematics 安装 CDC 集成库,您的应用程序结构需要匹配 Spartacus 参考应用程序结构。 有关更多信息,请参阅参考应用程序结构。

或者,您可以手动创建模块并将其导入您的应用程序,如以下示例所示:


import { NgModule } from '@angular/core'; import { CdcConfig, CdcRootModule, CDC_FEATURE } from '@spartacus/cdc/root'; import { provideConfig } from '@spartacus/core'; @NgModule({ declarations: [], imports: [CdcRootModule], providers: [ provideConfig({ featureModules: { [CDC_FEATURE]: { module: () =>  import('@spartacus/cdc').then((m) =>  m.CdcModule), }, }, }), provideConfig(<CdcConfig>{ cdc: [ { baseSite: 'electronics-spa', javascriptUrl: '<paste-link-to-cdc-script>', sessionExpiration: 3600, }, ], }), ], }) export  class  CdcFeatureModule {}

上面的代码需要对配置进行手动调整:


provideConfig(<CdcConfig>{ [CDC_FEATURE]: [ { baseSite: 'electronics-spa', javascriptUrl: 'https://cdns.<data-center>.gigya.com/JS/gigya.js?apikey=<Site-API-Key>', sessionExpiration: 3600, }, ], }),

以下是 CDC 配置中可用选项的摘要:

  • baseSite 是指应应用客户数据云站点配置的 CMS 站点。 也应该在 SAP Commerce Cloud Backoffice 中配置相同的内容。

  • javascriptUrl 指定要加载的 Web SDK 的 URL。 这是使用站点 API 密钥的值以及创建客户数据云站点的数据中心构建的。 例如,https://cdns..gigya.com/JS/gigya.js?apikey=

  • sessionExpiration 是定义 SAP Customer Data Cloud 会话的会话到期时间(以秒为单位)。 这应该与 OAuth 客户端的会话到期时间相匹配,以确保客户数据云会话和 SAP Commerce Cloud 令牌同时存在。

上一篇:leetcode-mysql 2021-05-07


下一篇:孙卫琴的《精通JPA与Hibernate》的读书笔记:EntityManager和Session的merge()方法详解