欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何解決SSO單點登錄重定向

這篇文章主要講解了“如何解決SSO單點登錄重定向”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何解決SSO單點登錄重定向”吧!

開州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

當(dāng)我們寫好SSO單點登錄服務(wù)的代碼后,通過調(diào)用接口方式驗證,流程看似正常,但開始與前端聯(lián)調(diào)就出現(xiàn)問題了。

流程是這樣的:前端在首頁使用ajax訪問后端獲取菜單或者用戶信息的接口,以觸發(fā)登錄校驗,如果未登錄則重定向到SSO登錄頁面。

但這一步就出問題了,原因是ajax無法攔截302處理。當(dāng)ajax接收到302響應(yīng)時,看起來就像是ajax直接向重定向鏈接發(fā)起請求,而不是讓瀏覽器重定向,結(jié)果啥事也沒干。

關(guān)于ajax無法攔截302處理的原因,筆者從網(wǎng)上找到的解釋如下。

服務(wù)器將302響應(yīng)發(fā)給瀏覽器時,瀏覽器并不是直接進行ajax回調(diào)處理,而是先執(zhí)行302重定向,從響應(yīng)頭中讀取Location信息,然后向Location中的Url發(fā)出請求,在收到這個請求的響應(yīng)后才會進行ajax回調(diào)處理。

大致流程:ajax -> browser -> server -> 302 -> browser(redirect) ->  server -> browser -> ajax callback。

原本是為了讓前端以最少的改動接入SSO,但因為筆者對前端的了解較淺,才犯了這樣的錯誤。

既然ajax無法處理302,那也只能修改流程,讓前端主動發(fā)起重定向了。

流程修改后,當(dāng)后端驗證用戶未登錄或登錄過期時響應(yīng)401狀態(tài)碼,同時body給出重定向鏈接,而前端需要全局?jǐn)r截401錯誤,從響應(yīng)body獲取鏈接并讓瀏覽器重定向到指定鏈接,該鏈接就是由后端拼接好的跳轉(zhuǎn)到SSO登錄的鏈接。

如何解決SSO單點登錄重定向

最后還有一個cookie問題。由于本地測試,前端將請求轉(zhuǎn)發(fā)給部署到測試環(huán)境的后端,前端的域名為127.0.0.1,后端測試環(huán)境域名為xxx.  com,導(dǎo)致本地測試跳轉(zhuǎn)到SSO登錄成功并返回后,前端向后端發(fā)起請求依然響應(yīng)401。

原因在上篇已經(jīng)描述過了,就是因為域名不同,前端使用ajax發(fā)起請求,瀏覽器并不會將xxx.com域名下的cookie帶上,只會帶上127.0.0.1域名下的cookie。

解決該問題只需要修改傳給SSO登錄成功后重定向的checkToken接口的域名為前端本地測試的域名,由前端將請求轉(zhuǎn)發(fā)給后端,或者在nginx配置將此接口的請求轉(zhuǎn)發(fā)給后端處理,只有這樣session才能保持一致。

除此之外,跨協(xié)議無法重訂向。也就是說,sso部署在測試環(huán)境域名為https://sso.xx.com,而接入sso的服務(wù)在本地測試域名為http://127.0.0.1,想要從https://sso.xx.com登錄成功后重定向回http://127.0.0.1是不支持的,原因是跨協(xié)議重定向了,由https協(xié)議變成了http協(xié)議。

從這些事情可以看出,實戰(zhàn)很重要!即便理解了流程、實現(xiàn)原理,但不動手實戰(zhàn)就學(xué)不到細節(jié),無法從各種踩坑過程中成長。

感謝各位的閱讀,以上就是“如何解決SSO單點登錄重定向”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何解決SSO單點登錄重定向這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

當(dāng)前標(biāo)題:如何解決SSO單點登錄重定向
瀏覽路徑:http://chinadenli.net/article8/jiodip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、微信小程序虛擬主機、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化