在筆者先前的文章——《基于saml2.0的平臺(tái)(適用多種平臺(tái))單點(diǎn)登錄配置,以okta為例》中,詳細(xì)介紹了如何把一個(gè)自開發(fā)的三方系統(tǒng),集成到okta或者IAS平臺(tái)。
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、微信小程序定制開發(fā)、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。經(jīng)過筆者的實(shí)際工作經(jīng)驗(yàn),發(fā)現(xiàn)SF自己本身其實(shí)也可以作為一個(gè)單點(diǎn)登錄平臺(tái)來使用。
具體場景:自開發(fā)的三方系統(tǒng)(JAVA)需要和SF系統(tǒng)進(jìn)行單點(diǎn)登錄集成,在前面的文章中,我們?yōu)榱撕蚐F系統(tǒng)集成,是通過外部的單點(diǎn)登錄平臺(tái)IAS來實(shí)現(xiàn)的,在這里其實(shí)是可以一步到位直接和SF進(jìn)行集成的。
因?yàn)镾F自身也是一個(gè)產(chǎn)品,它也提供了類似于單點(diǎn)登錄平臺(tái)的作用,所以可以不需要IAS平臺(tái),直接在SF自身的平臺(tái)配置單點(diǎn)登錄。
解決方法:下面介紹下具體的方法。
SF的單點(diǎn)登錄配置特別簡單,首先登錄SF專用的配置網(wǎng)址。
再進(jìn)入特定的配置界面:
第一步:這里的重點(diǎn)就是截圖中文字描述的,首先下載idp認(rèn)證服務(wù)器的xml,其實(shí)就是認(rèn)證服務(wù)器的公鑰證書,下載到自開發(fā)服務(wù)器后,以后的單點(diǎn)登錄認(rèn)證就通過這個(gè)idp來完成。
第二步:配置SSO參數(shù),可以參考上一篇文章,基本保持一致,這里不需要把自開發(fā)服務(wù)生成的metadata.xml文件上傳到這里單點(diǎn)配置。
SF單點(diǎn)登錄與IAS平臺(tái)級(jí)配置區(qū)別:上面介紹的都是很簡單的配置,只要詳細(xì)的看完了上一篇文章,這個(gè)配置就沒問題。
這里重點(diǎn)說一下SF單點(diǎn)登錄和IAS單點(diǎn)登錄配置的不同之處。
大的不同在于,當(dāng)在自開發(fā)項(xiàng)目中,當(dāng)調(diào)用單點(diǎn)登錄接口/saml/login成功后會(huì)通過瀏覽器自動(dòng)跳轉(zhuǎn)到/saml/SSO。問題的關(guān)鍵在于請(qǐng)求的域名和http方式,如果是IAS平臺(tái)集成,會(huì)跳轉(zhuǎn)到IAS平臺(tái)自己配置好了前綴的/saml/SSO接口,比如https://ias.idp.com/saml/SSO。
但是如果是SF的單點(diǎn)登錄配置,它不會(huì)自動(dòng)的按照SF平臺(tái)配置的/saml/SSO鏈接調(diào)用,它只會(huì)根據(jù)當(dāng)前自開發(fā)服務(wù)器的ip地址來自動(dòng)跳轉(zhuǎn)比如:http://10.10.10.10:80/saml/SSO。
在平時(shí)的開發(fā)中,其實(shí)都好說,主要是當(dāng)需要生產(chǎn)上線的情況,需要通過域名和證書訪問。
這時(shí)候SF卻不能夠像IAS一樣,只要在SSO配置的地方配置好就行,只能通過代碼的形式來實(shí)現(xiàn)把本機(jī)ip替換成指定的域名和端口。
這里的解決方法是通過Nginx請(qǐng)求頭配置和Tomcat的流程引擎——RemoteIpValve來控制,在tomcat執(zhí)行請(qǐng)求的過程中,把本地ip替換成指定的域名。
關(guān)于tomcat的RemoteIpValve流程引擎原理,也有一篇專門的文章講解,有興趣可以去看看。
下面說下具體的解決辦法:
Nginx配置:location / {
#請(qǐng)求使用https
proxy_set_header X-Forwarded-Proto https;
#本機(jī)ip替換為指定域名
proxy_set_header X-Forwarded-Host test.baidu.com;
#使用指定的端口
proxy_set_header X-Forwarded-Port 8082;
proxy_pass http://10.10.10.10:8090;
}
Tomcat配置:server:
tomcat:
remoteip:
protocol-header: X-Forwarded-Proto
protocol-header-https-value: https
就這樣,通過Nginx在請(qǐng)求頭配置一系列指定的參數(shù),可以把tomcat接收到的請(qǐng)求http://10.10.10.10:80/saml/SSO,直接動(dòng)態(tài)轉(zhuǎn)換為https://test.baidu.com:8082/saml/SSO。
這樣就直接解決了在SF單點(diǎn)登錄之初,從saml/login無法轉(zhuǎn)向我們需要的saml/SSO請(qǐng)求的問題。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前標(biāo)題:三方系統(tǒng)集成SF(SuccessFactors),實(shí)現(xiàn)單點(diǎn)登錄要點(diǎn)-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://jinyejixie.com/article34/djsese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、用戶體驗(yàn)、商城網(wǎng)站、Google、小程序開發(fā)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)