自開發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
- [應用案例]完美自適應WEB開發官網Web
- 開發Web應用Web
- RESTful API開發實戰 使用REST JSON XML和JAX-RS構建微服務 大資料和Web服務應用RESTAPIJSONXML微服務大資料Web
- JavaFX 整合 Sqlite 和 Hibernate 開發爬蟲應用JavaSQLite爬蟲
- 【Azure 應用服務】Azure App Service 自帶 FTP服務APPFTP
- Flutter與Native混合開發-FlutterBoost整合應用和開發實踐(iOS)FlutteriOS
- Jetty - 在整合Spring的J2SE應用程式中嵌入Jetty的Web功能(應用和Web共用ApplicationContext)JettySpringWebAPPContext
- web學習:服務端開發的業務需求-路由解析Web服務端路由
- Windows 桌面應用自動和 Jenkins 持續整合WindowsJenkins
- EMQX Cloud 影子服務:便捷資料快取服務,加速 IoT 應用開發MQCloud快取
- 讓SAP雲平臺上的Web應用使用destination服務Web
- 基於gin的golang web開發:服務間呼叫GolangWeb
- [譯] Rust 開發完整的 Web 應用程式RustWeb
- 使用 Flutter 開發簡單的 Web 應用FlutterWeb
- 《Flask Web開發 基於Python的Web應用開發實戰》簡評FlaskWebPython
- SpringBoot開發案例之整合Dubbo分散式服務Spring Boot分散式
- 自學鴻蒙應用開發(17)- TabList和Tab鴻蒙
- Web全棧開發學習筆記—Part3 用NodeJS和Express寫服務端程式—b.把應用部署到網上Web全棧筆記NodeJSExpress服務端
- SpringCloudSpringBootmybatis分散式微服務雲架構(八)開發Web應用(2)GCCloudSpring BootMyBatis分散式微服務架構Web
- SpringCloudSpringBootmybatis分散式微服務雲架構(七)開發Web應用(1)GCCloudSpring BootMyBatis分散式微服務架構Web
- web開發安全框架中的Apache Shiro的應用Web框架Apache
- 構建無縫整合的gRPC-Web和Istio的雲原生應用教程RPCWeb
- 以太坊和Metamask開發web應用時不再需要密碼Web密碼
- DNS服務應用DNS
- Springboot整合MongoDB的Docker開發,其它應用也類Spring BootMongoDBDocker
- 區塊鏈實體運用落地服務方案,區塊鏈底層鏈和應用開發區塊鏈
- Linux應用開發自學之路Linux
- Now冥想:崩潰服務和效能服務助力提升應用質量
- imi 助力 ChatGPT 應用開發,支援優雅的 SSE 服務端推送功能ChatGPT服務端
- 乾淨架構在 Web 服務開發中的實踐架構Web
- 是否有應用onethink開發web的詳細教程Web
- 《Flask Web開發:基於Python的Web應用開發實戰》學習筆記(二)FlaskWebPython筆記
- 區塊鏈技術應用開發,公鏈搭建服務商區塊鏈
- 用Spring Web Flow和Terracotta搭建Web應用SpringWeb
- 分散式應用服務的拆分分散式
- 在快應用中整合華為AGC雲端儲存服務GC
- API開發平臺,全面快速整合釋出API服務API