自开发 Web 应用如何使用 SAP Customer Data Cloud 实现自定义登入功能
2017 年 SAP 收购了以色列创业公司 Gigya, 现在 Gigya 又被称作 SAP Customer Data Cloud,是 SAP C/4HANA 的五朵云之一。所以下文在不同的上下文出现的 SAP Customer Data Cloud 和 Gigya,大家可以认为这两组词表达的是同一个意思。
本文分为两部分,第一部分,简单介绍 SAP Customer Data Cloud 的业务,第二部分用一个 demo 介绍如何在自己的网站中使用 SAP Customer Data Cloud 中的某些服务。
Customer Data Cloud 从功能上分为三大模块:
SAP Customer Identity
SAP Customer Consent
SAP Customer Profile
我们首先来简单了解一下这三大功能模块。
SAP Customer Identity
提供跨渠道和跨设备的用户身份识别,在 Web,移动设备和物联网设备上提供统一的注册,身份验证,登录等用户体验。
除此之外,SAP Customer Identity 还提供单点登录,无密码的身份验证,能够安全地识别来自任何接入端的在线访问者。通过抓取客户授权的身份数据,SAP Customer Identity 可以推动个性化、即时营销、销售和服务,同时尊重消费者隐私并满足数据保护法规。Gigya 在安全上做了很多工作,确保用户数据不被窃取和攻击。
SAP Customer Consent
提供了开箱即用的工作流程,帮助企业明确提出各项服务条款,隐私政策,营销沟通,以及其他需要用户授权的同意请求等等。
每次企业更新服务条款和隐私政策,SAP Customer Consent 会自动触发新的用户同意请求,并记录每次用户的同意选项和授权的时间。企业管理员可以访问用户整个使用周期内每一次授权的历史记录,从而有效地解决政府对隐私的监管和审计。
在企业的数字生态系统中,通过将用户的配置文件与企业的应用程序和服务同步,在每个渠道上强制执行用户的隐私许可,满足关键数据隐私要求。SAP Customer Consent 提供了跨平台和跨设备的用户隐私设置服务中心,使用户在整个使用产品的生命周期内,都能透明地管理自己的偏好设置,控制企业对自己的隐私数据的访问规则,从而帮助企业和客户建立透明可信任的关系。
SAP Customer Profile
通过抓取用户授权后的第一手数据,SAP Customer Profile 为用户建立丰富的用户档案,让企业的每个应用程序和服务都可以无缝的使用它们。
企业各种应用和服务的用户资料通过统一的平台对管理员开放,同时也能为营销人员提供各种用户数据的分析报告,以及为客户细分和个性化的营销方案提供数据支撑。
下面通过一个简单的 demo,向大家介绍如何将 SAP Customer Identity 集成到我们自己的 Web 应用中。
我开发了一个基于 nodejs 的 Web 应用。后台使用 nodejs + express 框架,前端使用 SAP UI5。
登陆 SAP Customer Data Cloud 的 RAAS(Registration-as-a-Service)平台。
首先在 RAAS 平台上创建 site 和应用。
本地开发和测试使用的 Site Domain 可以填成 localhost.
创建一个新的 Application:
创建了 Site 和 Application 之后,Site 会自动生成对应的 API Key:
Application 会产生 User Key 和 Secret。
其次,在 Web 应用的 index.html 中引入 Gigya Web SDK:
然后使用 SAP UI5 开发 Web 应用的登录页面 login.view.xml 和控制器 login.controller.js。
Gigya 提供了一个默认的用户登录注册页面,只需两行代码就可以在我们的 Web 应用里使用。这种便捷的使用方式体现了 RAAS 的含义。
在 xml 视图中嵌入一个 div 标签:
在控制器实现的初始化函数中加入:
Gigya 的登录和注册服务就加入我们自己的 Web 应用中去了。
除了使用默认的登录屏幕设置之外,我们当然可以直接在 Gigya 平台上定制登录页面和注册流程。
Gigya 提供了 UI Builder,在 UI Builder 里可以使用默认的控件,通过拖拽就可以生成不同的登录页面(类似 SAP Cloud for Customer UI Designer),也可以直接修改 html 和 css,修改登录和注册流程等等。
Gigya 定义了许多不同类型的事件,这些事件由用户交互来触发,例如用户登录,按钮点击等。应用程序可以注册监听感兴趣的事件,并在收到这些事件时执行代码。
下面是简单的监听用户登录和注销事件的代码:
关于 Gigya 支持的所有事件和事件相关参数,可以参考用户手册。
在 Web 应用后台,我们还可以使用 Rest API 的方式访问 Gigya 的相关服务。
举个例子,在后台获取用户的 Account 信息,调用 Rest API 需要用到 Site 的 API Key 和 Application 的 User Key 和 Secret。
以上只是基于 Gigya 提供的服务进行的一些最简单的练习。关于 Gigya 更多的功能介绍,请移步官网上去查看,有很详细的介绍:
总结
本文首先介绍了 SAP Customer Data Cloud 的三大功能模块,接着从一个实际例子出发,介绍了 Web 应用如何通过 SAP Customer Data Cloud 的 Customer Identity,实现自定义用户登入机制的开发步骤。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/98c864e14a56a034d69dca291】。文章转载请联系作者。
评论