摘要:阮一峰老師曾經(jīng)在他的博文理解里對(duì)這個(gè)概念有了深入淺出的闡述。注這是阮一峰老師文章里提到的中的認(rèn)證模式之一簡化模式客戶聽起來不錯(cuò)這樣我就不需要把我們公司的用戶的密碼提供給您了。這下您放心了吧注這種方式即阮一峰文章里介紹的授權(quán)碼模式。
阮一峰老師曾經(jīng)在他的博文理解OAuth 2.0里對(duì)這個(gè)概念有了深入淺出的闡述。
http://www.ruanyifeng.com/blo...
本文會(huì)結(jié)合我在SAP做過的項(xiàng)目,來給大家介紹這個(gè)協(xié)議是如何應(yīng)用到SAP產(chǎn)品中去的。
我做過的最早的一個(gè)和OAuth 2.0相關(guān)的項(xiàng)目,是2013年時(shí)作為SAP成都研究院CRM開發(fā)團(tuán)隊(duì)的一員,參與設(shè)計(jì)和開發(fā)了SAP CRM和社交媒體集成解決方案。該方案實(shí)現(xiàn)了Twitter, Facebook和新浪微博等社交媒體和SAP CRM On Premise(以下簡稱SAP CRM)的呼叫中心(Interaction Center)的集成。
通過在SAP CRM后臺(tái)配置一個(gè)社交媒體賬號(hào),比如某Twitter賬號(hào),使得SAP CRM的后臺(tái)作業(yè)能夠定期把Twitter網(wǎng)站上@了該Twitter賬號(hào)的所有tweets抓取到CRM呼叫中心的收件箱里供坐席處理。
例如客戶在Twitter官網(wǎng)上發(fā)一條@AndrewPang6的tweet, 文本內(nèi)容如下:
在SAP CRM完成必需的配置之后,該tweet能夠被SAP CRM的后臺(tái)作業(yè)抓取到CRM呼叫中心。坐席通過在Inbox(收件箱)里指定相應(yīng)的搜索條件,如下圖所示,即可檢索出對(duì)應(yīng)存儲(chǔ)在CRM的tweet。
*
作為SAP的另一款基于云的CRM解決方案,SAP Hybris Cloud for Customer(以下簡稱C4C), 毫無疑問也包含了社交媒體的解決方案。
我們還是用上文介紹的SAP CRM呼叫中心的社交媒體使用場景為例。
在C4C系統(tǒng)里創(chuàng)建一個(gè)新的類型為Twitter的Social Medial Channel(社交媒體渠道)。該渠道的類型為Twitter,渠道ID可以由創(chuàng)建者指定:
然后把創(chuàng)建的渠道同某個(gè)Twitter賬號(hào)綁定。在這個(gè)例子里,我創(chuàng)建的ID為I042416的渠道綁定到了我的Twitter賬號(hào)JerryWang_SAP上。完成之后,該Twitter賬號(hào)發(fā)布的tweets就能夠被抓取到C4C系統(tǒng)中。
下圖左邊是我創(chuàng)建好的ID為I042416的社交媒體渠道,紅色區(qū)域是我的Twitter賬號(hào)。右邊的IMPORT RUN包含了一個(gè)表格,顯示了三次后臺(tái)作業(yè)的執(zhí)行情況。這些后臺(tái)作業(yè)完成的邏輯就是把JerryWang_SAP這個(gè)賬號(hào)在Twitter網(wǎng)站上發(fā)布的tweets抓取到C4C去。
以這三條tweets為例:
這三條tweets都成功地被抓取到C4C系統(tǒng)的Service(服務(wù))工作中心,生成對(duì)應(yīng)的Ticket:
點(diǎn)擊超鏈接,能看到Ticket明細(xì)。下圖紅色區(qū)域的內(nèi)容來自我在Twitter網(wǎng)站上發(fā)布的其中一條tweet。
*
等等,到目前為止好像OAuth2.0在這兩個(gè)產(chǎn)品里沒有露面?下面以SAP CRM為例,通過模擬Andrew和一個(gè)SAP CRM客戶的對(duì)話來介紹OAuth2.0到底是怎么在社交媒體集成方案中發(fā)揮作用的。
客戶:SAP您好, 我有一個(gè)Twitter賬號(hào),我想把Twitter網(wǎng)站上@了這個(gè)賬號(hào)的相關(guān)tweets同步到SAP CRM的呼叫中心里。
Andrew: 好的。請?zhí)峁┠腡witter賬號(hào)和密碼。
客戶:賬號(hào)我可以提供,為什么還要提供密碼?
Andrew:有了您的Twitter賬號(hào)和密碼,SAP可以使用在RFC 7617里定義的Basic Authentication方式,調(diào)用Twitter提供的Read API拿到您希望同步到CRM去的tweets數(shù)據(jù)。您可以參考下面的wiki定義:
https://en.wikipedia.org/wiki...
客戶:?等等,您提供的這些信息太過技術(shù)化了。這樣吧,我讓我們IT人員來和您溝通。
客戶IT:這個(gè)密碼是我們的私人信息啊,能不能不提供給你們啊?
Andrew:?這個(gè)密碼我們可以通過ABAP Security Storage這個(gè)技術(shù)來存儲(chǔ)在ABAP Netweaver上。這樣,無論SAP的支持人員,還是您企業(yè)里的工作人員都是不可能通過技術(shù)手段來竊取到這個(gè)密碼的。SAP的安全技術(shù)您就放心吧,下面是ABAP Security Storage的官方說明:
https://help.sap.com/saphelp_...
客戶IT認(rèn)真閱讀幫助文檔中...
客戶IT:除了這個(gè)把密碼提供給你們的方式,你們有其他的方式來調(diào)用Twitter的API么?
Andrew:早期的Twitter API只支持Basic Authentication, 但是后來Twitter也支持了其他的認(rèn)證方式。
Twitter允許第三方開發(fā)者在官網(wǎng)上創(chuàng)建第三方應(yīng)用,比如我創(chuàng)建了下圖名為i042416的Twitter應(yīng)用:
Twitter官網(wǎng)會(huì)給這個(gè)應(yīng)用頒發(fā)一對(duì)Key和Secret作為其唯一標(biāo)識(shí)。
通過這對(duì)key和Secret, 我可以構(gòu)造一個(gè)oauth_token,這個(gè)oauth_token能向Twitter表明我作為i042416這個(gè)應(yīng)用的身份。我把構(gòu)造好的oauth_token,作為url的一部分發(fā)給您。
完整的url如下圖所示。
這個(gè)url是屬于Twitter官網(wǎng)的,因此您可以放心使用。該url對(duì)應(yīng)的網(wǎng)頁會(huì)詢問您是否愿意讓該Twitter第三方應(yīng)用取得讀取您tweets的權(quán)限。如果您愿意,點(diǎn)擊Authorize app按鈕即可。同時(shí)Twitter官網(wǎng)也強(qiáng)調(diào)了這個(gè)應(yīng)用并不具有窺探您密碼,郵箱地址或者訪問您私信的權(quán)限。
您點(diǎn)擊了button之后,Twitter就會(huì)返回給我一個(gè)access token。利用這個(gè)access token,我就可以開工了,在CRM ABAP代碼里調(diào)用Twitter API,讀取您的tweets。
Jerry注: 這是阮一峰老師文章里提到的OAuth2.0中的認(rèn)證模式之一: 簡化模式(implicit grant type)
客戶IT:?聽起來不錯(cuò)!這樣我就不需要把我們公司的Twitter用戶的密碼提供給您了。
但是,這個(gè)access token是通過明文的形式被瀏覽器返回的。如果這個(gè)access token泄漏了怎么辦?別有用心者一樣可以用它來干壞事。
Andrew:?您真專業(yè)!那這樣吧,我們換一種方式。這種方式Twitter不會(huì)直接把a(bǔ)ccess token通過瀏覽器返回給我,而僅僅返回一個(gè)oauth_verifier token。
我拿到這個(gè)token之后,會(huì)在我的ABAP代碼里使用這個(gè)verifier token向Twitter服務(wù)器發(fā)起請求。Twitter收到我的請求,會(huì)給我的應(yīng)用返回access token。這個(gè)access token的獲取過程是發(fā)生在ABAP會(huì)話期里的,其他人不可能竊取到。我會(huì)使用這個(gè)access token來調(diào)用Twitter API。
另一方面,即使其他人竊取到了瀏覽器返回的oauth_verifier token, 他們也無法通過同樣的方式獲取到access token, 因?yàn)樗麄儾恢牢襎witter應(yīng)用的Key和Secret。這下您放心了吧?
Jerry注: 這種方式即阮一峰文章里介紹的授權(quán)碼模式(authorization code)。
客戶IT:恩,放心了,感謝您詳細(xì)的講解。那么我想要在SAP CRM的呼叫中心里使用這個(gè)解決方案,具體該如何開始呢?
Andrew:請閱讀這個(gè)SAP note獲得實(shí)施的具體步驟: 1832462 - Master Note: How to Implement Social Media Channel API to Integrate with CRM Interaction Center。
擴(kuò)展閱讀
理解OAuth 2.0:http://www.ruanyifeng.com/blo...
Twitter/Facebook和SAP CRM的集成:https://blogs.sap.com/2013/11...
FAQ C4C Social Media:?https://blogs.sap.com/2017/06...
Using Oauth - Twitter Developers: ?https://developer.twitter.com...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/107419.html
摘要:阮一峰老師曾經(jīng)在他的博文理解里對(duì)這個(gè)概念有了深入淺出的闡述。注這是阮一峰老師文章里提到的中的認(rèn)證模式之一簡化模式客戶聽起來不錯(cuò)這樣我就不需要把我們公司的用戶的密碼提供給您了。這下您放心了吧注這種方式即阮一峰文章里介紹的授權(quán)碼模式。 阮一峰老師曾經(jīng)在他的博文理解OAuth 2.0里對(duì)這個(gè)概念有了深入淺出的闡述。 http://www.ruanyifeng.com/blo... 本文會(huì)結(jié)合...
摘要:今天的文章來自李貝寧,成都研究院的資深程序猿和架構(gòu)師。是研究院內(nèi)部的教練,也是成都研究院若干內(nèi)部培訓(xùn)課程的講師。而李貝寧,在成都研究院三支分別使用和的開發(fā)團(tuán)隊(duì)里都被任命為架構(gòu)師,技術(shù)的全面性不輸于史大郎。 今天的文章來自李貝寧(Ben),SAP成都研究院的資深程序猿和架構(gòu)師。 作為成都研究院里同時(shí)精通Java, JavaScript和ABAP這三門編程語言的數(shù)位同事之一,Ben曾經(jīng)先后...
摘要:是什么提供身份認(rèn)證和授權(quán)服務(wù)。你希望你的用戶能使用微信登錄,同時(shí)你還希望能追蹤到用戶的注冊來源,活動(dòng)數(shù)據(jù),以便你做后續(xù)的用戶增長。 Authing 是什么? Authing 提供身份認(rèn)證和授權(quán)服務(wù)。 我們?yōu)殚_發(fā)者和企業(yè)提供用以保證應(yīng)用程序安全所需的認(rèn)證模塊,這讓開發(fā)人員無需成為安全專家。 你可以將以任意語言和任意技術(shù)棧編寫的應(yīng)用接入到 Authing,同時(shí)你還可以自定義應(yīng)用程序的登錄方...
摘要:本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺(tái)的多維度的運(yùn)營理念。它的特點(diǎn)就是通過客戶端的后臺(tái)服務(wù)器,與服務(wù)提供商的認(rèn)證服務(wù)器進(jìn)行互動(dòng)能夠滿足絕大多數(shù)開放平臺(tái)認(rèn)證授權(quán)的需求。 本文單純從簡單的技術(shù)實(shí)現(xiàn)來講,不涉及開放平臺(tái)的多維度的運(yùn)營理念。 什么是開放平臺(tái) 通過開放自己平臺(tái)產(chǎn)品服務(wù)的各種API接口,讓其他第三方開發(fā)者在開發(fā)應(yīng)用時(shí)根據(jù)需求直接調(diào)用,例如微信登錄、QQ登錄、微信支付、微博登錄...
閱讀 2079·2021-09-29 09:35
閱讀 676·2021-09-08 09:36
閱讀 3389·2021-09-03 10:30
閱讀 2109·2019-08-30 14:21
閱讀 2905·2019-08-30 11:18
閱讀 3306·2019-08-29 17:31
閱讀 3136·2019-08-29 17:29
閱讀 1300·2019-08-29 17:13