成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SSO單點登錄重定向解決方案

開發 前端
當我們寫好SSO單點登錄服務的代碼后,通過調用接口方式驗證,流程看似正常,但開始與前端聯調就出現問題了。

[[376527]]

當我們寫好SSO單點登錄服務的代碼后,通過調用接口方式驗證,流程看似正常,但開始與前端聯調就出現問題了。

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

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

關于ajax無法攔截302處理的原因,筆者從網上找到的解釋如下。

服務器將302響應發給瀏覽器時,瀏覽器并不是直接進行ajax回調處理,而是先執行302重定向,從響應頭中讀取Location信息,然后向Location中的Url發出請求,在收到這個請求的響應后才會進行ajax回調處理。

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

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

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

流程修改后,當后端驗證用戶未登錄或登錄過期時響應401狀態碼,同時body給出重定向鏈接,而前端需要全局攔截401錯誤,從響應body獲取鏈接并讓瀏覽器重定向到指定鏈接,該鏈接就是由后端拼接好的跳轉到SSO登錄的鏈接。

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

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

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

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

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

 本文轉載自微信公眾號「Java藝術」,可以通過以下二維碼關注。轉載本文請聯系Java藝術公眾號。

 

責任編輯:武曉燕 來源: Java藝術
相關推薦

2021-10-29 13:26:54

單點登錄SSO

2020-12-28 05:52:27

SSO登錄單點

2024-06-21 09:28:43

2025-03-28 09:22:33

2019-07-24 15:12:08

單點登錄SSO密碼

2022-11-28 09:19:33

2024-08-12 08:12:38

2023-11-08 14:57:41

2024-03-01 11:33:31

2021-09-28 10:48:07

開源雙因素認證單點登錄

2014-04-11 09:22:17

MySQL雙主架構單點故障

2010-12-14 15:07:15

ICMP路由重定向

2022-05-12 07:37:51

單點登錄微服務開源

2024-09-27 12:13:26

GoGTokenSSO

2024-06-20 08:20:27

2021-06-01 06:01:35

SSO單點登錄

2012-07-11 13:45:33

伊頓

2020-02-28 08:00:35

單點登錄系統

2012-05-27 16:21:31

IDC華為

2018-12-03 12:17:27

Semptian解決方案
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一区2区 | av免费看片 | 日韩欧美国产精品 | 国产在线精品一区二区 | 久久久精品一区二区三区 | 91精品国产高清久久久久久久久 | 我要看黄色录像一级片 | 成人欧美一区二区三区在线播放 | 99久久久久久99国产精品免 | 欧美激情 一区 | 成人免费看片又大又黄 | 日韩福利| 国产乱码久久久久久 | 亚洲免费观看视频网站 | 亚洲aⅴ一区二区 | 久久久久久久久淑女av国产精品 | 日日操夜夜干 | 91av免费看| 人人cao| 麻豆国产一区二区三区四区 | 国产一区二区免费在线 | 精品久久久久久一区二区 | 亚洲一区二区三区四区视频 | 精品欧美乱码久久久久久 | 国产精品一区2区 | av一区二区三区四区 | 人人99| 欧美一区二区在线 | 五月天综合影院 | 亚洲日韩中文字幕一区 | 国产精品一区二区三 | 999久久久久久久久6666 | 久久久99国产精品免费 | 欧美一区二区三区在线免费观看 | 99久久婷婷国产综合精品电影 | 成人在线观看亚洲 | 成人精品鲁一区一区二区 | 国产激情毛片 | 69福利影院 | 精品久久久久久 | 日韩精品在线看 |