自開發Web應用和SAPCustomerDataCloudIdentity服務的整合
今天的文章繼續由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更多的功能介紹,請移步官網上去檢視,有很詳細的介紹:
感謝閱讀。
Aviva另外兩篇文章:
本文來自雲棲社群合作伙伴“汪子熙”,瞭解相關資訊可以關注微信公眾號”汪子熙”。
相關文章
- 自開發Web應用和SAP Customer Data Cloud Identity服務的整合WebCloudIDE
- PHP開發Web服務PHPWeb
- 基於lbs服務應用開發
- 用“MEAN”技術棧開發web應用(二)express搭建服務端框架WebExpress服務端框架
- [應用案例]完美自適應WEB開發官網Web
- WEB 容器、WEB服務和應用伺服器的區別與聯絡Web伺服器
- 領域服務和應用服務的差別?
- 開發Web應用Web
- web應用服務端cache策略初探Web服務端
- 【Azure 應用服務】Azure App Service 自帶 FTP服務APPFTP
- RESTful API開發實戰 使用REST JSON XML和JAX-RS構建微服務 大資料和Web服務應用RESTAPIJSONXML微服務大資料Web
- WEB應用開發中的ServletWebServlet
- Flask RESTful Web服務的開發套路總結FlaskRESTWeb
- JavaFX 整合 Sqlite 和 Hibernate 開發爬蟲應用JavaSQLite爬蟲
- EMQX Cloud 影子服務:便捷資料快取服務,加速 IoT 應用開發MQCloud快取
- 開發和部署一個簡單的Clojure Web應用Web
- [譯]使用 Rust 開發一個簡單的 Web 應用,第 3 部分 —— 整合RustWeb
- Node助力Web應用開發——在新的開發平臺,打造高效能Web應用Web
- 基於gin的golang web開發:服務間呼叫GolangWeb
- Web應用的元件化開發(一)Web元件化
- Web應用的元件化開發(二)Web元件化
- 雲服務應用開發所面臨的9大挑戰
- 關於企業級應用和web開發的區別Web
- 在快應用中整合華為AGC雲端儲存服務GC
- Flutter與Native混合開發-FlutterBoost整合應用和開發實踐(iOS)FlutteriOS
- 【設計模式】Java服務開發應用策略模式的一個例子設計模式Java
- web學習:服務端開發的業務需求-路由解析Web服務端路由
- 使用apache CXF開發第一個Web服務ApacheWeb
- 使用 Flutter 開發簡單的 Web 應用FlutterWeb
- [譯] Rust 開發完整的 Web 應用程式RustWeb
- Web應用開發的七項原則Web
- 讀了《JavaScript Web 應用開發》JavaScriptWeb
- 急聘JAVA Web應用開發高手JavaWeb
- 利用ASP開發Web應用 (轉)Web
- DNS服務應用DNS
- Android服務端開發之使用Eclipse搭建Java Web服務端Android服務端EclipseJavaWeb
- 領域服務與應用服務的職責
- 用JavaServer Faces開發Web應用(4) (轉)JavaServerWeb