自開發Web應用和SAPCustomerDataCloudIdentity服務的整合

JerryWangSAP發表於2019-01-22

今天的文章繼續由SAP成都研究院的雲時代女王,Aviva給大家分享關於SAP Customer Data Cloud的一些使用經驗。

Aviva之前的文章可以在本文末尾處獲得。

下面是她的正文。

    • *

大家好,我是Aviva。本人在SAP不負責Gigya的開發工作,只是出於個人興趣,在業餘時間閱讀了SAP官網上Gigya的幫助文件後,就Gigya提供的網站登入接入功能做了一些非常簡單的Hello World級別的例子,在此分享給大家。

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支援的所有事件和事件相關引數,可以參考使用者手冊:

https://developers.gigya.com/display/GD/Events

在Web應用後臺,我們還可以使用Rest API的方式訪問Gigya的相關服務。

舉個例子,在後臺獲取使用者的Account資訊,呼叫Rest API 需要用到Site 的API Key 和Application的User Key和Secret。

以上只是基於Gigya提供的服務進行的一些最簡單的練習。關於Gigya更多的功能介紹,請移步官網上去檢視,有很詳細的介紹:

https://developers.gigya.com/ 

感謝閱讀。

Aviva另外兩篇文章:

本文來自雲棲社群合作伙伴“汪子熙”,瞭解相關資訊可以關注微信公眾號”汪子熙”。


相關文章