写点什么

自开发 Web 应用如何使用 SAP Customer Data Cloud 实现自定义登入功能

作者:Jerry Wang
  • 2022 年 5 月 13 日
  • 本文字数:2099 字

    阅读完需:约 7 分钟

自开发 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:


<script src="https://cdns.gigya.com/js/gigya.js?apikey=YOUR-API-KEY-HERE">
</script>
复制代码


然后使用 SAP UI5 开发 Web 应用的登录页面 login.view.xml 和控制器 login.controller.js。


Gigya 提供了一个默认的用户登录注册页面,只需两行代码就可以在我们的 Web 应用里使用。这种便捷的使用方式体现了 RAAS 的含义。


在 xml 视图中嵌入一个 div 标签:



在控制器实现的初始化函数中加入:



gigya.accounts.showScreenSet({
screenSet: 'Default-RegistrationLogin',
containerID: me.byId('LoginGigya').sId
});
复制代码


Gigya 的登录和注册服务就加入我们自己的 Web 应用中去了。



除了使用默认的登录屏幕设置之外,我们当然可以直接在 Gigya 平台上定制登录页面和注册流程。



Gigya 提供了 UI Builder,在 UI Builder 里可以使用默认的控件,通过拖拽就可以生成不同的登录页面(类似 SAP Cloud for Customer UI Designer),也可以直接修改 html 和 css,修改登录和注册流程等等。


Gigya 定义了许多不同类型的事件,这些事件由用户交互来触发,例如用户登录,按钮点击等。应用程序可以注册监听感兴趣的事件,并在收到这些事件时执行代码。


下面是简单的监听用户登录和注销事件的代码:


var me = this;
gigya.accounts.addEventHandlers({ onLogin: me.login, onLogout: me.onLogout, context: me });
登录后,在控制台简单地打印一些字符串。
login: function (response) {
console.log("LOGIN!!!!!!!!!!!!!!!!!");
console.log(response);**
},
复制代码


关于 Gigya 支持的所有事件和事件相关参数,可以参考用户手册



在 Web 应用后台,我们还可以使用 Rest API 的方式访问 Gigya 的相关服务。


举个例子,在后台获取用户的 Account 信息,调用 Rest API 需要用到 Site 的 API Key 和 Application 的 User Key 和 Secret。



以上只是基于 Gigya 提供的服务进行的一些最简单的练习。关于 Gigya 更多的功能介绍,请移步官网上去查看,有很详细的介绍:


https://developers.gigya.com/

总结

本文首先介绍了 SAP Customer Data Cloud 的三大功能模块,接着从一个实际例子出发,介绍了 Web 应用如何通过 SAP Customer Data Cloud 的 Customer Identity,实现自定义用户登入机制的开发步骤。


发布于: 2022 年 05 月 13 日阅读数: 20
用户头像

Jerry Wang

关注

🏆InfoQ写作平台-签约作者🏆 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。2007 年从电子科技大学计算机专业硕士毕业后加入 SAP 成都研究院工作至今。工作中使用 ABAP, Java, JavaScript 和 TypeScript 进行开发。

评论

发布
暂无评论
自开发 Web 应用如何使用 SAP Customer Data Cloud 实现自定义登入功能_用户权限_Jerry Wang_InfoQ写作社区