免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

ASP.NET Core 實(shí)現(xiàn) SAML2 單點(diǎn)登錄:從協(xié)議拆解到線上排錯

ASP.NET Core 實(shí)現(xiàn) SAML2 單點(diǎn)登錄:從協(xié)議拆解到線上排錯 簡介Sustainsys.Saml2原稱Kentor.AuthServices是一個面向ASP.NET開發(fā)者的開源身份驗(yàn)證庫以C#語言實(shí)現(xiàn)用來為網(wǎng)站增加SAML2協(xié)議能力使其能夠作為服務(wù)提供方與身份提供方完成單點(diǎn)登錄對接。資源包共含883個文件大小約5.64MB其中以C#源文件和頁面視圖居多同時(shí)提供了大量配置文件、頁面樣式與腳本、測試證書以及完整的項(xiàng)目工程文件可用于還原出可運(yùn)行的示例站點(diǎn)與聯(lián)調(diào)環(huán)境。源碼按三個版本分支組織第一個分支基于舊版標(biāo)識模型兼容傳統(tǒng)模塊與多種框架第二個分支使用新版標(biāo)識模型支持多目標(biāo)框架第三個分支則專為新一代核心框架設(shè)計(jì)。對于需要在自己項(xiàng)目中實(shí)現(xiàn)SAML2認(rèn)證、研究服務(wù)提供方與身份提供方交互細(xì)節(jié)的開發(fā)者這份材料提供了可直接參考的源碼、配置模板和證書樣例當(dāng)前已有525人學(xué)習(xí)下載同時(shí)可借助分支對比來輔助版本遷移與二次開發(fā)。1. 為什么要在 ASP.NET 里專門做一個 SAML2 身份驗(yàn)證服務(wù)接手過幾次企業(yè)級接入后你會發(fā)現(xiàn)SAML2 身份驗(yàn)證服務(wù)真正難的從來不是“驗(yàn)證簽名”和“解析 XML”而是把整個跳轉(zhuǎn)鏈路、信任關(guān)系、會話狀態(tài)串起來。很多團(tuán)隊(duì)第一次接入時(shí)想得很簡單把 IdP 給的證書拿來在自己站點(diǎn)里驗(yàn)一下斷言就完事。結(jié)果一上線就翻車——不是跳不回來就是簽名字節(jié)對不上再不就是登錄成功后用戶信息全是空的。這套東西最反直覺的地方在于它能跑通不代表你理解了它一旦某個參數(shù)兩邊各寫各的你面對的就是一條無法從應(yīng)用日志里直接看出原因的黑匣子鏈。這篇文章要講的是在 ASP.NET 平臺上把 SAML2 服務(wù)提供方SP完整落地的方法覆蓋從協(xié)議拆解、最小可運(yùn)行實(shí)現(xiàn)、核心參數(shù)調(diào)整到線上排錯的全過程。不管你是要接入客戶的統(tǒng)一身份平臺還是打算把自己的系統(tǒng)對接到公司內(nèi)部的單點(diǎn)登錄體系只要涉及“讓 ASP.NET 應(yīng)用聽懂 SAML2 斷言”下面這些內(nèi)容都能直接拿來用??赐昴隳塥?dú)立搭出可交付的身份驗(yàn)證接入層并知道出了問題該看哪里。2. 拆開 SAML2消息、跳轉(zhuǎn)與信任模型這三件事2.1 三類核心消息斷言、協(xié)議消息與綁定方式SAML2 里的有效載荷是“斷言”Assertion一段攜帶用戶身份信息的 XML。斷言內(nèi)部又分三種語句認(rèn)證語句AuthnStatement聲明“用戶在某時(shí)刻通過某方式完成了認(rèn)證”屬性語句AttributeStatement攜帶郵箱、姓名、角色這類擴(kuò)展屬性授權(quán)決策語句AuthorizationDecisionStatement聲明“允許該用戶訪問某資源”。對 ASP.NET 開發(fā)者來說平時(shí)處理的絕大多數(shù)場景只用到前兩種授權(quán)決策一般交給應(yīng)用自身的策略引擎很少直接從斷言里讀。真正在網(wǎng)絡(luò)上傳輸?shù)牟恢皇菙嘌远前褦嘌浴鞍饋怼钡膮f(xié)議消息。SP 向 IdP 發(fā)起認(rèn)證時(shí)發(fā)送 AuthnRequestIdP 處理完把用戶瀏覽器導(dǎo)回 SP 時(shí)攜帶 AuthnResponse。這兩條消息分別解決了“你是誰”和“我證明你確實(shí)是誰”。而綁定方式?jīng)Q定了消息怎么走最常見的是 HTTP Redirect 綁定適合發(fā)送 AuthnRequest因?yàn)?GET 參數(shù)長度有限卻足夠放進(jìn)一個沒有大量擴(kuò)展的請求另一個是 HTTP POST 綁定IdP 回傳斷言時(shí)幾乎都用它因?yàn)楹灻蟮?XML 體積大塞進(jìn) URL 不現(xiàn)實(shí)。在代碼層面你收到的 AuthnResponse 是一段需要驗(yàn)證的 XML。這里有一個非常關(guān)鍵的建議不要自己寫 XML 解析器。SAML2 的簽名驗(yàn)證涉及 XML 規(guī)范化Canonicalization、XPath 定位簽名節(jié)點(diǎn)、摘要重算手寫解析在邊緣環(huán)境下有數(shù)不清的兼容問題。我在生產(chǎn)環(huán)境里見過某個團(tuán)隊(duì)手寫了半年最后還是換成了現(xiàn)成的中間件。.NET 生態(tài)里目前活躍度最高、生產(chǎn)驗(yàn)證最充分的 SAML2 社區(qū)包就那么一個成熟選擇直接引入它把精力放到業(yè)務(wù)適配和排錯上這才是性價(jià)比最高的路線。2.2 兩條登錄主線SP 發(fā)起的跳轉(zhuǎn)與 IdP 發(fā)起的跳轉(zhuǎn)SP 發(fā)起的登錄流程是大多數(shù)接入場景的主干。用戶訪問你的 ASP.NET 站點(diǎn)里一個受保護(hù)的頁面中間件發(fā)現(xiàn)當(dāng)前會話沒有認(rèn)證信息于是生成一條 AuthnRequest附上簽名后用 Redirect 綁定把用戶瀏覽器帶到 IdP 的登錄端點(diǎn)。用戶在 IdP 完成密碼、短信或掃碼認(rèn)證后IdP 在后臺生成斷言把瀏覽器用 POST 表單導(dǎo)回你的 ACSAssertion Consumer Service地址。你的站點(diǎn)收到 POST驗(yàn)簽、校驗(yàn)斷言、提取用戶標(biāo)識然后建立本地會話把用戶引導(dǎo)回最初想訪問的那個頁面。IdP 發(fā)起的登錄則完全反過來用戶先登錄公司門戶門戶里展示一排可訪問的系統(tǒng)圖標(biāo)用戶點(diǎn)某個系統(tǒng)的入口IdP 直接在瀏覽器里生成一條 POST 到該系統(tǒng) ACS 地址。你的 SP 沒有發(fā)起過任何請求卻在某個時(shí)刻突然收到一條斷言。這帶來一個很隱蔽的問題你無法校驗(yàn)“InResponseTo”——這條斷言到底是不是響應(yīng)你發(fā)出的上一條請求因?yàn)楦静淮嬖谏弦粭l請求。所以 IdP 發(fā)起的流程里必須格外依賴簽名驗(yàn)證和受眾校驗(yàn)一旦跳過攻擊者可以嘗試重放別人被截獲的斷言。在 ASP.NET 集成里IdP 發(fā)起的流程也是最容易在配置階段被忽略的一環(huán)。很多人測試時(shí)只測 SP 發(fā)起上線后客戶從門戶點(diǎn)進(jìn)來發(fā)現(xiàn)直接 401。常見做法是把兩種情況都列入聯(lián)調(diào)用例并且斷言消費(fèi)端點(diǎn)要同時(shí)容忍有 InResponseTo 和沒有 InResponseTo 的請求但在后者情況下必須做額外的 Audience 和 Recipient 校驗(yàn)。2.3 信任關(guān)系如何建立證書、metadata 與簽名驗(yàn)證SAML2 的信任基礎(chǔ)不是“用戶名密碼”而是證書。SP 需要持有 IdP 簽公鑰才能驗(yàn)證斷言簽名IdP 也同樣需要 SP 的公鑰來驗(yàn)證 AuthnRequest 簽名。雙方交換公鑰的載體叫 metadata——一份描述 EntityID、ACS 地址、證書、支持綁定方式的標(biāo)準(zhǔn) XML。實(shí)際項(xiàng)目中IdP 通常給你一個 metadata 下載地址SP 這邊則把自己 metadata 發(fā)過去登記。驗(yàn)證簽名時(shí)中間件拿 IdP 的公鑰按 XML 簽名標(biāo)準(zhǔn)對斷言里的 DigestValue 重算比對通過后才信任。這個環(huán)節(jié)有個常見的幼稚錯誤以為只要有一對證書就行結(jié)果兩邊各簽各的。實(shí)際上SP 自己那對證書用來給 AuthnRequest 簽名IdP 的證書用來驗(yàn)斷言兩把證書鏈路完全不同。彼此是通過 metadata 里的 KeyDescriptor 標(biāo)簽區(qū)分用途的signing 標(biāo)簽對應(yīng)簽名密鑰encryption 標(biāo)簽對應(yīng)解密密鑰。配置時(shí)如果選錯了哪把鑰匙等待你的只有一個結(jié)果——簽名驗(yàn)證失敗。3. 搭一個能跑通的最小實(shí)現(xiàn)從空項(xiàng)目到本地首登3.1 環(huán)境準(zhǔn)備項(xiàng)目模板與證書生成做 SAML2 接入前先準(zhǔn)備好一個空 ASP.NET Core MVC 項(xiàng)目。我一直習(xí)慣從空模板起步因?yàn)?SAML2 中間件的注冊邏輯要放在中間件管線的特定位置模板自帶的東西有時(shí)候反而礙事。項(xiàng)目創(chuàng)建命令很簡單dotnet new mvc -n SpSample cd SpSample dotnet add package Itfoxtec.Saml2第二行命令拉取的是 .NET 生態(tài)里那個最主流的 SAML2 中間件包。我一般不會在文章里反復(fù)強(qiáng)調(diào)某個包的名字但在 SAML2 這個領(lǐng)域可選項(xiàng)實(shí)在太少這個包幾乎是事實(shí)標(biāo)準(zhǔn)。它處理了 AuthnRequest 生成、AuthnResponse 解析、簽名驗(yàn)證、RelayState 管理這些臟活你要做的是把業(yè)務(wù)參數(shù)喂給它。然后生成 SP 自己的簽名證書openssl req -x509 -newkey rsa:2048 -keyout sp-signing.key -out sp-signing.crt -days 365 -nodes -subj /CNsp.sample.local這里生成的證書是 SP 用來簽名 AuthnRequest 的不是 IdP 那個驗(yàn)證用的證書。注意-nodes參數(shù)表示私鑰不加密生產(chǎn)環(huán)境絕對不能這樣用開發(fā)環(huán)境圖省事可以。證書有效期設(shè)一年因?yàn)?SAML2 的 metadata 里會帶上證書有效期IdP 側(cè)如果嚴(yán)格校驗(yàn)過期證書會導(dǎo)致請求被直接拒絕。3.2 中間件注冊順序與配置SAML2 中間件的注冊順序有講究。它必須放在 UseAuthentication 之前因?yàn)樗庸艿氖恰斑@條請求是不是攜帶了一個可信任的身份斷言”這件事。放在后面注冊會導(dǎo)致請求先被別的中間件處理完了斷言還沒被解析。代碼里這樣注冊builder.Services.AddSaml2(options { options.SPOptions.EntityId new EntityId(urn:sp:sample); options.SPOptions.ReturnUrl new Uri(https://sp.sample.local/saml2/acs); options.SPOptions.SignatureAlgorithm Saml2SignatureAlgorithm.RsaSha256; var signingCert new X509Certificate2(sp-signing.crt, password); options.SPOptions.SigningCertificate signingCert; var idpMetadata new IdpMetadata(new X509Certificate2(idp-signing.crt), new Uri(https://idp.sample.local/realms/main)); options.IdentityProviders.Add(new IdentityProvider(idp, idpMetadata)); }); app.UseSaml2();這段配置里有幾個參數(shù)必須解釋清楚。EntityId是你的 SP 在全聯(lián)邦里的唯一名字IdP 端看到的 SP 標(biāo)識就是它改了這個值而 IdP 沒同步斷言會被判定為來路不明。ReturnUrl是 ACS 地址IdP 會把斷言 POST 到這里它必須和 IdP 側(cè)登記的回調(diào)地址完全一致差一個路徑段都不行。SignatureAlgorithm是簽名算法現(xiàn)在基本不用 SHA1 了但有些老 IdP 只支持 SHA1SP 端配了 SHA256 就會握手失敗。SigningCertificate是第 3.1 節(jié)生成的那把證書。IdentityProviders列表里要注冊每個可信任的 IdP包括它的證書和端點(diǎn)地址這一步很多人會漏掉——只配了 SP 自己的證書沒配 IdP 的信息結(jié)果驗(yàn)簽時(shí)找不到驗(yàn)簽公鑰。3.3 本地驗(yàn)證先跑通再談完善配置完成后別急著連真實(shí) IdP先在本地搭一個最小的測試 IdP把鏈路拉通。最省事的方案是寫一個簡單的控制器來扮演 IdP 的 ACS 端點(diǎn)[HttpPost(saml2/acs)] public async TaskIActionResult Acs() { var binding new Saml2PostBinding(); var saml2p new Saml2AuthnResponse(SPOptions, new Saml2AuthnRequest(SPOptions)); binding.Unbind(Request, saml2p); await saml2p.CreateSession(HttpContext, null); return Redirect(/); }Saml2PostBinding負(fù)責(zé)從 POST 表單中解析 SAMLResponse 字段Unbind方法把傳輸層的參數(shù)還原成強(qiáng)類型的響應(yīng)對象CreateSession則是在驗(yàn)證斷言有效后為用戶建立 .NET 認(rèn)證會話。這段代碼邏輯上就是把“收到一條 POST 斷言”翻譯成“建立一次登錄會話”。在本地聯(lián)調(diào)時(shí)我是按三個步驟遞進(jìn)的先關(guān)掉簽名驗(yàn)證手工拼一個最簡斷言直接 POST確認(rèn)解析和會話建立沒問題再打開簽名驗(yàn)證看驗(yàn)簽鏈路是否完整最后才跑完整的重定向流程。一步一步來出了問題立刻能定位是哪個環(huán)節(jié)的毛病。4. 四個必調(diào)參數(shù)與它們的邊界EntityID、簽名算法與時(shí)鐘偏移4.1 EntityID、ACS 與 metadata三個參數(shù)必須三方對齊SAML2 接入里最折磨人的一類問題是“配置明明沒錯但 IdP 就是報(bào)錯”。這類問題九成出在三方對齊上SP 端 EntityID、ACS 地址、IdP metadata 里記錄的同一份信息。你的 EntityID 寫成了urn:sp:sampleIdP 側(cè)錄入的卻是https://sp.sample.local/saml兩邊都能正常完成重定向但 IdP 生成的斷言里 Audience 會是它自己認(rèn)為的那個 SP 標(biāo)識SP 驗(yàn)簽時(shí)發(fā)現(xiàn) Audience 不是自己直接拒絕。ACS 地址的對齊同樣苛刻。中間件默認(rèn)會根據(jù)當(dāng)前請求的 Host 頭動態(tài)拼接 ACS 地址如果你的站點(diǎn)跑在反向代理后面外網(wǎng) Host 和內(nèi)部服務(wù)地址不一致生成的 ACS 就會變成內(nèi)網(wǎng)地址IdP 那邊登記的是公網(wǎng)地址兩邊一比對就不匹配。排查這條路的最佳實(shí)踐是ASP.NET 服務(wù)前加上app.UseForwardedHeaders()讓中間件感知真實(shí)的客戶端 Host。我一般在配置里顯式寫死 ACS 地址而不是讓它動態(tài)生成這樣至少在復(fù)雜網(wǎng)絡(luò)環(huán)境下少一個變量。還有一種幾乎所有人都遇到過的詭異場景客戶說換證書了給了你新公鑰你也把新證書放進(jìn)配置了結(jié)果驗(yàn)簽還是失敗。最后發(fā)現(xiàn) IdP 的 metadata 里有新舊兩把證書名目上是“密鑰輪換”但實(shí)際請求斷言是用新證書簽的你的代碼卻在舊證書里做匹配。所以配置代碼里要支持證書的滾動查找——驗(yàn)簽時(shí)先用當(dāng)前證書失敗后嘗試用備用證書再驗(yàn)一次而不是只信任一把。4.2 證書與簽名算法SHA1 還是 SHA256RSA 還是 ECDSA簽名算法協(xié)商是個容易讓人頭大的點(diǎn)。SAML2 標(biāo)準(zhǔn)在 XML 簽名里同時(shí)支持 RSA-SHA1、RSA-SHA256、ECDSA-SHA256但并非所有 IdP 都支持全部。大型政企系統(tǒng)里有相當(dāng)一部分老舊 IdP 只支持 RSA-SHA1你的 SP 端如果強(qiáng)制 SHA256IdP 在驗(yàn)證 AuthnRequest 簽名時(shí)會直接報(bào)錯。我通常的做法是先看 IdP 的 metadata。metadata 里的SignatureMethod標(biāo)簽會明確列出它支持的算法按這個列表配置 SP 端行為就穩(wěn)穩(wěn)的。如果你拿不到 metadata或者 IdP 文檔語焉不詳直接用 RSA-SHA256 作為默認(rèn)值遇到握手失敗再降級到 SHA1。另一個容易被忽略的細(xì)節(jié)是證書密鑰長度。2048 位當(dāng)前仍是主流有些新部署已經(jīng)上了 4096 位但老 IdP 在驗(yàn)證簽名時(shí)對超大密鑰的處理存在性能問題會直接把請求超時(shí)。遇到這種情況別急著改算法先看看 IdP 是否有資源側(cè)的調(diào)優(yōu)參數(shù)。4.3 時(shí)鐘偏移、斷言有效期與會話老化SAML2 斷言里有NotBefore和NotOnOrAfter兩個時(shí)間戳限定了斷言的有效期。標(biāo)準(zhǔn)里沒有強(qiáng)制規(guī)定有效期長度但主流 IdP 一般默認(rèn)給五分鐘。這個五分鐘在正常網(wǎng)絡(luò)環(huán)境下完全夠用但有一個前提SP 和 IdP 兩邊服務(wù)器的時(shí)鐘必須大致同步?,F(xiàn)實(shí)中我踩過一次很深的坑——某個客戶的 IdP 跑在一臺時(shí)間漂移了八分鐘的服務(wù)器上SP 端一切正常但斷言里NotBefore比當(dāng)前時(shí)間晚了七分鐘SP 端判斷“斷言尚未生效”直接拒絕。解決手段有兩個層面。第一部署層面必須給服務(wù)器配置 NTP 時(shí)間同步云服務(wù)器默認(rèn)做得好自建機(jī)房就容易出問題。第二代碼層面在 SAML2 配置里把允許的時(shí)鐘偏移量調(diào)大一點(diǎn)通常設(shè) 30 到 60 秒已經(jīng)足夠。不要設(shè)置更大的值有效期存在的意義就是防止重放攻擊無限放寬等于把安全門拆了。還有一個經(jīng)常被忽略的與會話相關(guān)的坑SAML2 斷言的五分鐘有效期和 ASP.NET 本地 Cookie 的過期時(shí)間是完全獨(dú)立的兩件事。用戶體驗(yàn)是“用著用著突然跳到 IdP 要求重新登錄”但你查 SAML2 相關(guān)日志全部正常原因是本地 Cookie 過期了而新用戶在跳回時(shí)拿到的仍然是一個新的有效會話。排查這種問題時(shí)要把 Cookie 過期時(shí)間、IdP 會話策略、斷言有效期三者并列對比看哪個先到期。5. 避坑與排查SAML2 接入最常見的五個現(xiàn)場5.1 現(xiàn)象登錄成功后找不到用戶 ID用戶從 IdP 那邊登錄成功了瀏覽器也跳回了你的站點(diǎn)但你發(fā)現(xiàn)會話里拿不到身份標(biāo)識。查 SAML 斷言發(fā)現(xiàn) NameID 是空的或者 NameID 拿到了但郵箱、姓名全是 null。這個問題的根源基本都在屬性映射。SAML2 標(biāo)準(zhǔn)允許 IdP 在斷言里放置任意自定義屬性AttributeStatement標(biāo)簽下的每個Attribute用 Name 屬性區(qū)分。但 .NET 側(cè)的 Claims 機(jī)制期望的是一組標(biāo)準(zhǔn) ClaimType比如ClaimTypes.Email里裝的應(yīng)該是郵箱地址。而 IdP 返回的屬性名幾乎都是客戶自定義的可能是user.email也可能是mail還有可能是emailAddress。處理方法是寫一個屬性映射表把這些原始屬性名映射到 .NET Claim 類型options.SPOptions.ClaimsMapping.Add(mail, ClaimTypes.Email); options.SPOptions.ClaimsMapping.Add(employeeNumber, ClaimTypes.NameIdentifier);這段配置的意思是把 IdP 返回的屬性mail映射成 .NET 里的 Email ClaimemployeeNumber映射成用戶標(biāo)識。屬性映射是接入時(shí)最繁瑣的工作因?yàn)槟惚仨毾?IdP 方要一份“返回屬性清單”根本沒有自動發(fā)現(xiàn)機(jī)制。另外還要注意屬性是有大小寫的Mail和mail是兩個完全不同的屬性名映射時(shí)嚴(yán)格按 IdP 文檔抄不要自作主張規(guī)范化。5.2 現(xiàn)象跳轉(zhuǎn)到 IdP 后提示“請求無效”用戶在瀏覽器里點(diǎn)擊登錄SP 把他重定向到 IdP結(jié)果 IdP 頁面報(bào)出“請求無效”或“invalid request”。這類問題通常不是簽名問題而是 AuthnRequest 本身不被 IdP 接受。最常見的原因是 SP 沒有提供 IdP 要求的簽名或者簽名算法不被支持。IdP 側(cè)如果設(shè)置了必須驗(yàn)簽才處理請求而 SP 端沒有為 AuthnRequest 配置簽名證書請求就會被丟棄。解決方法是回到第 4 章的證書配置確認(rèn)SPOptions.SigningCertificate正確加載。另一個隱蔽原因AuthnRequest 里帶了Destination屬性它必須和 IdP 實(shí)際接收請求的端點(diǎn) URL 精確一致。如果 IdP 的登錄端點(diǎn)有兩個——一個用于重定向綁定一個用于 POST 綁定——而你的配置寫錯了綁定方式同樣會觸發(fā)這個錯誤。處理邏輯很直白從 IdP 的 metadata 里找到正確的 SingleSignOnService 地址和綁定方式逐項(xiàng)對照。我在聯(lián)調(diào)時(shí)會把中間件實(shí)際發(fā)出的 AuthnRequest 完整記錄成日志一條一條檢查頭信息十次里有八次問題都是出在這種細(xì)節(jié)上。5.3 現(xiàn)象IdP 側(cè)的一切正常但 SP 端一直 401登錄鏈路都走完了IdP 那邊顯示認(rèn)證成功SP 端收到的卻是 401。檢查 SAML2 日志的時(shí)候發(fā)現(xiàn)請求沒有到達(dá)斷言處理邏輯直接被 ASP.NET 的認(rèn)證中間件攔截了。這問題通常不是 SAML2 配置的問題而是你的“匿名訪問”和“需認(rèn)證資源”沒分清楚。默認(rèn)情況下ASP.NET 中間件會對所有未認(rèn)證請求返回 401。解決辦法是檢查那些允許匿名訪問的端點(diǎn)是否帶了[AllowAnonymous]特性同時(shí)確認(rèn)UseSaml2中間件的執(zhí)行順序在UseAuthorization之前。還有一個容易搞混的點(diǎn)SAML2 中間件解析斷言成功后是調(diào)用CreateSession來建立本地認(rèn)證 Cookie 的。如果你繼承默認(rèn)配置會話自動建立沒問題但如果你重寫了某個環(huán)節(jié)比如自己在控制器里手動處理 SAMLResponse卻漏掉了CreateSession這一步那么即便驗(yàn)簽全過請求終態(tài)仍然是沒有認(rèn)證身份的狀態(tài)。5.4 現(xiàn)象所有配置都對但簽名驗(yàn)證就是失敗這類問題最考驗(yàn)?zāi)托囊驗(yàn)槟愕拇a、配置、乃至 IdP 提供的證書都“看起來沒問題”。簽名驗(yàn)證失敗的常見原因有三個。第一個是 IdP metadata 里的證書過期了IdP 本身已經(jīng)輪換到新證書但 metadata 沒更新你在代碼里加載的仍是舊證書。第二個是簽名算法匹配問題IdP 用 SHA1 簽名代碼配置卻只認(rèn) SHA256兩個在數(shù)學(xué)上完全不同的摘要方法當(dāng)然對不上。第三個是 XML 規(guī)范化問題——SAML2 簽名標(biāo)準(zhǔn)里規(guī)定了 XML 在簽名前要先做 C14N 規(guī)范化不同的 XML 庫對空白字符的處理有細(xì)微差異極端情況下同一份斷言在不同框架里算出的摘要會不一致。前面兩種原因好解決分別對應(yīng)證書輪換和算法對齊。第三種原因讓人頭疼一旦遇到我會先用 XML 工具把收到的原始斷言和簽名值完整導(dǎo)出然后對比文檔里的標(biāo)準(zhǔn)簽名流程逐步核查是哪個環(huán)節(jié)的變換出了問題。實(shí)際項(xiàng)目中這類問題如果跟框架的 XML 解析器有關(guān)換一種解析庫往往比研究協(xié)議理論更快。5.5 現(xiàn)象本地正常部署到服務(wù)器就失敗開發(fā)環(huán)境一切正常一上測試服務(wù)器就報(bào)錯。這種場景最常見的原因是證書路徑和權(quán)限。你在開發(fā)環(huán)境加載證書用的是相對路徑.crt文件部署后工作目錄變了證書找不到或者運(yùn)行進(jìn)程的用戶沒有讀取證書文件的權(quán)限導(dǎo)致加載失敗。定位這樣的問題第一件事是看進(jìn)程啟動日志證書加載異常會在應(yīng)用啟動時(shí)直接拋異常。另一個部署相關(guān)的大坑是 HTTPS。SAML2 要求 ACS 地址必須通過 HTTPS 訪問否則斷言在傳輸過程中可能被篡改。局域網(wǎng)測試環(huán)境經(jīng)常有人用 HTTP本地能跑通是因?yàn)?SP 和 IdP 互相之間沒有做傳輸層安全強(qiáng)制但真實(shí)場景中 IdP 會很誠實(shí)地拒絕非 HTTPS 的斷言消費(fèi)地址。部署時(shí)先確認(rèn)反向代理層的 TLS 配置正確并確保ForwardedHeaders中間件把X-Forwarded-Proto正確傳遞到應(yīng)用層不然即使 HTTPS 實(shí)際是通的應(yīng)用里看到的請求協(xié)議仍是 HTTP各種校驗(yàn)依然會拒絕你。6. 把它做成能交付的東西給 ACS 端點(diǎn)加日志、多租戶支持與 SLO6.1 為 ACS 端點(diǎn)做結(jié)構(gòu)化日志接入排錯時(shí)最怕黑匣子用戶說登錄不了但你沒留下任何可分析的信息。SAML2 的排錯數(shù)據(jù)全藏在斷言和協(xié)議消息里所以我的習(xí)慣是在 ACS 端點(diǎn)里增加結(jié)構(gòu)化日志把 EntityID、NameID、斷言 ID、受眾、簽名算法、驗(yàn)證結(jié)果全部記錄下來。日志字段設(shè)計(jì)上至少要有請求全局 ID、SP EntityID、IdP 的 SSO 地址、返回的 RelayState 以及唯一的 trace 標(biāo)識。這套日志在線上追查“某用戶登錄失敗”時(shí)能夠把一次完整登錄鏈路從入口到退出拉平看不需要再靠猜。6.2 用配置文件驅(qū)動多租戶支持如果你做的不是單個系統(tǒng)的接入而是要給多個客戶或內(nèi)部多個部門提供服務(wù)那每個租戶對應(yīng)一套 IdP 配置。改造的核心是把IdentityProviders列表改成從配置源加載租戶通過子域名或 URL 前綴區(qū)分中間件根據(jù)當(dāng)前請求的 Host 決定用哪一套證書去驗(yàn)簽。這里有個細(xì)節(jié)多租戶模式下EntityID 也要按租戶區(qū)分不然所有租戶共享同一個 SP 身份IdP 端會混淆。實(shí)現(xiàn)了這一點(diǎn)之后新增一個租戶就不需要重新部署代碼只需要往數(shù)據(jù)庫里插入一條配置記錄。6.3 實(shí)現(xiàn)由 SP 主動退出到 IdP 的 SLO單點(diǎn)登錄做好了退出登錄也要做好。SAML2 單點(diǎn)退出SLO的實(shí)現(xiàn)方式是 SP 主動向 IdP 的SingleLogoutService端點(diǎn)發(fā)送 LogoutRequestIdP 清除全局會話后通知其他所有接入系統(tǒng)。我踩過最深的坑是在Logout控制器里忘了清除本地會話結(jié)果是用戶點(diǎn)了退出IdP 那邊全退干凈了回到本地頁面卻發(fā)現(xiàn)還能訪問受保護(hù)資源。正確做法是先從 IdP 注銷再調(diào)HttpContext.SignOutAsync清掉本地 Cookie順序反了會出現(xiàn)本地會話已清但 IdP 端還留著會話的情況。線上項(xiàng)目里我還養(yǎng)成一個習(xí)慣無論多簡單的接入都先確認(rèn) IdP 端的持久化會話策略。有些 IdP 默認(rèn)空閑會話二十分鐘就失效SP 端卻希望保持一個星期這個時(shí)間差會導(dǎo)致用戶以為登錄狀態(tài)還在實(shí)際上跳轉(zhuǎn)過去又被要求重新輸密碼。能讓雙方策略盡量對齊就盡量對齊對不齊時(shí)把 SP 本地 Cookie 過期時(shí)間設(shè)置得比 IdP 短一些雖然犧牲了一點(diǎn)體驗(yàn)但至少用戶知道什么時(shí)候該重新認(rèn)證。SAML2 接入這件事做一次覺得全是細(xì)節(jié)做三次就會發(fā)現(xiàn)套路清楚得很。每次排錯我都堅(jiān)持一個笨辦法把原始請求報(bào)文、簽名值、證書指紋全部導(dǎo)出存檔對著協(xié)議標(biāo)準(zhǔn)逐項(xiàng)排查不靠猜測。希望你也能從這個方向入手少走一些我走過的彎路。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲色视频| 天天在线久久综合 | 性爱网六月丁香| 99热这里只有精品55| 五月天婷婷激情网| 日韩一区二区A片免费观看| 亚洲激情免费久久| 亚洲天堂青草| 国产做爰视频免费播放| 99re视频在线播放| 国产成人99久久亚洲综合精品| 国产白丝在线一区| 综合久久综合综合| 99久操视频| 99.N在线视频| 丁香激情五月少妇| wwwxxx五月婷婷小说| 踪合专区啪啪| 欧美超碰亚洲| 五月婷视频| 九九九热精品| 丝袜激情网| 开心五激情网| 久久五月天合网| 丁香五月天堂网AV| 9色免费网| 五月天.com| 日日操,日日爽| 久久日曰| 久久九精品| 男女啪啪做爰高潮无遮挡| www.minyis.com【JT】实力收量可预付QQ2101460746 | ..真实国产乱子伦毛片| 五月婷婷六月丁香综合在线| 激情综合色图| 天天肏高清在线| 天天色,天天操,天天射| 一本道综合网| 很很操很很操| 亚洲综合丁香婷婷六月天| wWW九九在线播放| 666555。COm毛片| 激情综合区| 激情五月丁香亭亭| 91婷色| 激情婷婷网| 久久99久久99精品免观看粉嫩| 在线不卡AC| 五月天偷拍| 婷婷丁香六月| 欧洲色色| 激情图片婷婷丁香五月| 伊人玖玖网| 五月 婷婷 成人| 五月色视频| 久9无码视频| 精品动漫 无码av| 久婷狼色诱惑在线| 超级碰碰99| 婷婷五月天综合亚洲| EEUSS鲁片一区二区三区| 91狠狠综合久久久| 六月婷婷激情| 婷婷九色| 91婷婷在线观看| 91碰碰碰久久久久| 欧洲精品爱爱| 精品乱码视频| 天天干天天日天天插| www超碰| 97碰碰视频在线观看| 久9精品| 影音先锋91网站在线观看| 无码AV免费精品一区二区三区 | 婷婷丁香77777| 五月丁香久久网| 色色色色色级无码| 五月天激情综合网| 99热网精品| 色情终和网| 青青草成人网| 婷婷六月偷拍| 久9热| 欧美综合激情五月丁香| 99热这里全是精品| 99超级碰免费视频| 性热视频99精品| 99热最新地址在线| 丁香五月综合| 97碰碰草| 秋霞三级色戒| 六月婷婷色综合| 老司机日日夜夜青草| 99原创自拍视频在线观看| 丁香五月色激情| 99热久草| 99久热这里只有精品| 综合网亚洲| 怎么样可以看免费的一级av| 九九这里只有精品在线视频| 亚洲精品色| 五月天综合网| 99热久| 26uuuuuuuu国产| 夜夜躁婷婷AV| 色天使久久综合| 亚洲综合婷婷五月| 天天干天天色综合| 久综合4| 日本三级韩三级99久久| 国产成人亚洲综合A∨婷婷| 五月婷婷六月色| 久热A片| 五月丁香婷婷基地| 久久99大全| 精品影院| 婷色成人| 青草视频在线观看视频| Xx色综合| 深爱激情综合网| 欧美日本高清视频99| Se.婷婷五月天| 五月天婷婷基地| 欧美激情综合五月色丁香| 亚洲综合一区二区| 91porn一起草| 激情影院丁香五月| 青青草婷婷久久| 青青草a在线| 色五月天丁香婷婷| 色婷婷久久天天性爱| 五月花婷婷丁香| 最近中文字幕大全免费版在线| 亚洲av网站在线观看| Www.狠狠| 午夜婷婷久久 | 激情小说五月欧美亚洲丁香| 天堂美国久久| 天天操夜夜橾| 五月天婷婷久草丁香| 久久九九99字幕| 五月丁香免费看| 色九月婷婷综合| 五月六月丁香激情| 91久久综合| 色婷婷www| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 99精品在线观看视频| 玖玖婷婷五月天毛片| www.sd-xiangsu.cpm| 九热视频| www.天天干.com| 婷婷在线视频| 色在线五月天免费| 久久99最新地址| 六月五月久久丁香| 九九九九中文字幕| 超碰九九热| 日本啪啪网| 色五月婷婷操逼| 丁香五月中文字幕| 91操人| 丁香婷婷五月激情综合| 97精品人人A片免费看| 激情六月五月婷婷综合网| 色狠狠999综合网| 99日本黄站| 99热在线观看| 色狠狠婷婷| 国产无套精品一区二区| 18av天堂| Www.se.久久| 婷婷五月天成人网| 五月香蕉综合| 婷婷久久婷婷| 裸睡玩奶头(高H)| 9999色色色色| 婷婷综合激情| 久久女人九九| 六月丁香五月婷婷| 婷婷激情视频欧美视频自拍视频欧美剧| www.99热精品99.com| 久草狼人| 婷婷六月久久| AV网站免费在线| 天天做夜夜爽| 久色视频| 九九久久99| av人人操| 激情五月色婷婷| 狠狠色官网| 91制片厂久久久国产电影| 婷婷五月天色| 呦呦AV| 97婷婷狠狠久久综合9色| 五月婷婷天堂| 二区成人视频| 99热免费| 五月婷婷深深爱| 色波激情五月天| 在线中文字幕免费视频| 开心五月婷婷激情| 九九综合色综合| 综合在线网| 神马久久五月天| 亚洲啪啪啪啪| 五月天停婷基地| 国产va在线视频| 玖玖爱导航| AV性爱网| 乱码操操| 深爱五月婷婷| 噜噜噜噜噜色| 婷婷成人五月天一区| 九热免费视频| 伊人久久中文网| 国产成人精品一区二三区熟女在线 | 成人版视频在线观看| 久久五月六月| 狠狠搞五月天| 国产亚洲色婷婷久久99精品91| 90色免费视频| 久久大香蕉丁香| 97人人超| 久草性爱| 欧洲综合视频| 大香蕉婷婷丁香视频在线| 99aese| 狠狠干婷婷| 18久久| 色爆五月| 色欲色欲久久宗合网| 色五月 五月婷婷| 激情第四色| 丁香色五月婷婷91桃色| 热久久视频99| 五月婷婷欧洲| 精品人妻一区二区三区在| 亚州操人在线视频| 激情五月丁香婷婷| 色播播五月天| 开心五月婷婷| 99国产精品久久久久久久久久久 | 色婷婷六月| 欧美综合123区| 色婷婷亚洲六月婷婷中文字幕| 99热这里只有精品2016| 天堂草在线观看| 天天夜夜六月丁香五月婷婷老师| 久久久精品色色色| 五月婷婷啪啪| 五月婷婷AV| 六月婷婷色色色| 色五月婷婷五月| 伊人啪啪网| 国产精品香蕉| 日本久久性| 色色婷婷丁香五月天| 五月婷婷很很色| 丁香婷婷基地| 激情涩涩网| 色色色999| 99久在线精品99re8| 五月婷婷影院| 亚洲狠狠婷婷综合久久久| 激情婷婷丁香五月| 亚洲另类噜噜| 丁香九月综合| 99热这里只有精品青草| 天天色天天噜| 天天色天天操天天射| 99无码黄色视频| 直接看的AV| 天天色噜| 97色色婷婷| 国产成人精品一区二区三区视频| YW无码| 99在线爽| 色5在线| 五月丁香在线精品| 婷婷情色五月天| 丁香六月在线| 97sese婷婷| 成人网站av免费网站推荐| 五月婷婷综合久久| 婷婷丁香五月六月激情| 中文字幕激情综合| 专区无日本视频高清8| 91在线视频观看午夜福利| 99热久久日本| 色色色精品无码区| 99啪啪网| 亚洲在线免费成人| 色婷婷五月在线| 五月天开心激情网色欲无码| 婷婷天天色| 99九九在线| 少妇被躁爽到高潮无码文| 狠狠色噜噜狠狠狠777奇米| 六月激情婷婷综合| 五月婷婷色情| 九九精品免费| 99热99美国在线观看| 色色亚洲无码| 粉嫩av懂色av蜜臀av熟妇| 九九在线免费观看| 色播五月丁香| 五月天停婷基地| 欧美婷婷六月丁香综合色连续高潮抽搐| 思思热久久爱| 国产做爰视频免费播放| 婷婷操逼| 国产免费一区二区三州老师F1F1| 五月停停99| 亚洲九区| 婷婷丁香花五月天| www一起操在线观看| 九九热这里有精品视频| 91婷婷在线| 久操乱| 精品乱码视频| 激情99| 刘玥av在线| 男女99免费视频| 婷婷久久亚洲| 久久桃花网色婷婷| 色婷婷激情小说网| 丁香五月av| 停停五月色宗合| 99精品爱| 丁香情色五月| 深爱五月中文字幕| 国产亚洲精品AAAAAAA片| 色私五月婷婷| 色婷婷AV在线| 色九月婷婷丁香| 狠色色狠网| 国产精品人成A片一区二区| 九九热在线99| 97视频久久| 五月婷婷丁香瑟瑟视频| 狠狠爱婷婷五月天| 色五月第四色| 另类图片五月天激情| 九九久久综合网站| 五月天社区婷婷| www.夜夜夜| 99九九视频| 亚洲网视屏| 成人在线综合| 久操综合| 久久机热/这里只有精品| 精品久热69| 日本色爽| 久久婷婷激情| 丁香六月综合激情| 色婷婷六月激情| 人妻少妇色综合| 五月天开心色情网| 亚洲激情网| 六月99天天婷婷激情综合| 激情综合亚洲| www.25五月婷婷| 大香蕉手机视频| 激情美女五月天| 99热伊人| 极品五月天| 美女被操一区二区| 日日爽夜夜爽| 综合97五月| 激情99| 激情综合网络插| 婷婷丁香久久| 丁香五月天成人| 操逼综合激情网| 日日综合网| 久久综合色五月| 99久超碰| 99久久国产宗和精品1上映| 丁香五月天在线视频| 色五月欧美| 久久99热这里| 国产超碰av| 成人短视频在线免费观看| 色婷婷欧美| 丁香六月啪啪| 激情五月丁香综合网站 | 99日这里只有精品| 免费看成人747474九号视频在线观看| 婷婷久久五月| 色综合综合色| 97综合在线| 人妻丰满精品一区二区A片| 婷婷五月精品在线| 日本美女上人| 五月天开心色色网| 噜噜噜狠狠色综| 色婷婷五月天亚洲| 青青操丝袜美腿| 六月丁香久久| 五月之婷婷| 人人97碰| 七七色综合| 五月久久婷婷| 岛国AV网站| 久久资源网五月婷| 色综合99无码 | 9l视频自拍九色9l视频自拍九色9l社区| 久久五月婷婷电影| 夜色.cnm| 少妇人妻丰满做爰XXX| 婷婷狠狠操| 综合五月草 | 操逼五月婷婷| 久久精品这里只有精品免费首页| 亚洲操b| 婷婷五月天av网| www.五月婷| 九九热在线精品视频| 色五月丁香五月| 玖玖色资源站| 国产67194| 日本全黄一级999| 日日干夜夜干| 日韩aaa| 噜噜网免费视频| 久久色五月| 99在线免费视频| 开心激情久久久久久久| 五月伊人综合| 国产精品电影| 狠狠色狠狠| 玖玖婷婷五月天毛片| 九九无码| 99爱这里只有精品免费视频| 97超碰在线免费观看| 2025年最新亚洲在线欧美| 激情精品久久| 丁香五月婷婷无码AV| 六月撸婷婷| 亚洲啪啪精品| 丁香五月97视频| 婷婷五月天免费99| 免费无码毛片一区二区A片| 91chinese在线| www,com,五月色色| 丁香五月六月综合激情| 97色久| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香五月www| 大战熟女丰满人妻AV| 五月丁香综合啪啪| 天天狠天天叉| 激情五月综合亚洲另类| 中文字幕在线免费观看视频| 狠狠干天天日| JAPANRCEP老熟妇乱子伦视频| 伊人五月天在线| 国产操碰| 久久婷婷五月| 亚洲亚洲人成综合网络| 黄色国久久| 九月丁香婷婷基地| 97色碰碰公开视频| 丁香五月天婷婷91| 久久精品视频99| 九洲一级A片| 婷婷网影院| 67194中文字幕| www.sebowuyue| 五月色婷婷影院| 噜噜干日本| 婷丁香久综合| 色丁香婷婷美女视频网站| 欧美综合五月丁香五月天| 天天天摸夜夜夜玩| 大天天伊人| 五月玖玖| BBWCUCKOLD精品熟妇| 免费无码毛片一区二区A片 | 五月激情综合性爱| 一区视频网站| 99激| 可以看的av网站| 欧洲综合视频| 欧美槡BBBB槡BBB少妇| 成人中文网| 91碰操| 影音先锋毛片网站| 99热在线观看| 亚洲成人AV一区在线观看| 91丁香婷婷综合资源| 色99自拍| 26uuu亚洲色| 九九99一区| 九色七七| 亚洲宗合激情| 天堂资源欧日浪女在线播放| 玖玖精品视频99| 色99网| 五月婷在线观看| 国产在线aaa片一区二区99| 激情婷婷五月社区| 五月丁香综合啪啪| 亚洲天天操| 色情婷婷五月天| 久久五月婷婷综合网| 亚洲免费av观看| 日韩免费乱轮网站| 五月天综合视频| 99热91| 亚洲AV日韩在线观看| 97五月婷婷| 色播丁香五月婷婷操:屄| 思思热精品在线视频| av狠狠操| 久婷婷五月综合欧美| 婷婷五六月丁香| 婷婷五月av| 欧美色频| 亚洲激情综| 99久久久国产精品免费蜜乳tv| 午夜成人AV在线| 日本在线播放97| 99久久婷婷| 天天插AV丝袜中| 色噜噜婷婷| 玖玖激情五月天| 激情五月亚洲| 青青草国产亚洲精品久久| www.综合久久.com| 亚洲色在线观看| 五月天综合在线| 色五月婷婷操逼| 国产精品日韩十五区| 在线播放成人网站| www色婷婷| 五月天六月婷婷| 嫩草AV久久伊人妇女超级A| 色婷婷五月色| 精品爆操| 亚洲无码yw| 欧州色色| 色婷婷五月天无码视频| 草做免费在线观看| 国产婷伊人| 婷婷六月爽| 这里只有精品视频在线| 丁香五月五月婷婷| 综合99久久| 久久99热这里只频精品6学生| 婷婷五月丁香基| 五月色丁香成人| 激情五月天社区| 欧美性爱五月天| 久99热在线观看| 欧美男女婷婷| 夜夜爽天天爽| 午夜丁香综合婷婷| 96精品久久久久久久久| 五月丁香自拍| 国产精品久久久久久白浆色欲| 日韩黄色电影| 丁香九月综合激情| 久热成人| 婷婷五月天综合网| 婷婷免费成人视频| 成人精品视频99在线观看免费| 婷婷色五月偷拍| 色综合五月| 天天干,天天舔| 国产成人综合网| 亚洲国产精品五月天| 综合五月天| 丁香五月天信号| 婷婷精品| 综合五月激情| 色99视| 视频一二区| 91久久99久久91熟女精品| 五月天成人小说| 色婷婷婷av | 色 噜噜 九月 婷婷| 丁香久久| AV五月丁香| 色欲一区二区三区精品A片| 99久久久国产大片| 欧美天堂婷婷日韩| 色五月大| 99热思思在线观看| 碰久久精品w| 色婷婷免费视频| 色色色激情| 日本欧美成人片AAAA| 婷婷五亚洲| 国产精品国产| 国产又黄又爽又色的免费| 色噜噜在线| 五月天婷婷狠狠| 婷婷五月天久久| 色五月五月丁香| 77777亚洲午夜久久| 大香蕉520| 婷婷丁香一月| 九九色大香蕉| 久草热8精品视频在线观看| 亚洲天堂aaa| 九九99免费视频| 日逼影音先锋男人AV资源站| 婷婷五月成人| ss99热| 成人综合AV| 午夜天堂一区人妻| 五月久久婷婷丁香| 五月婷婷影视| 成人五月天丁香| 五月色丁香国产在线视频| 国产无人区大片| 女人高潮内射99精品| 色色色色色色网站| 狠狠色丁香99| 91爱啪啪| av操一操| 九九热9| 很很干天天干| 另类 在线| 亚洲、热| WWW.五月天9999| 另类视屏| 性爱111111| 日韩啪啪网| 五夜丁香| 丁香五月亚综合图片| 丁香五月AV综合| 五月天激情四射网站| 久久婷婷综合五月| 丁香六月婷| 91AV婷婷| 色五月婷婷五月天| 91精品久久久久久综合五月天| 视频综合网| 久久伊人9| 91男人资源站| 丁香婷婷老熟女综合网| 亚洲精品白浆高清久久久久久| AV在线中文| 99在线观看精品视频| 99精品久久久久久久婷婷久久| 五月婷婷在线短视频| 色情五月天丁香社区| 丁香五月ⅤA久久久| 1024亚洲无码| 屁股翘好撅高迎合跪趴| 最近中文字幕大全免费版在线| 超碰免费成人| 九九精品综合| 婷婷中文无码| 亚洲高清在线| 色婷婷九月| 狠狠狠狠狠狠色| 91久久电影| 丁香五月欧美| 操逼三区| www99精品| 婷婷99中文字幕| 欧美日比视频| 久久99操| 婷婷五月天AV| 色婷婷久久| 色丁香五月婷婷| 啪啪综合网| 99免费视频| 无码少妇高潮喷水A片免费| 狠狠色丁香| 91丨九色丨东北熟女| 人妻少妇色综合| 极品人妻VIDEOSSS人妻| 婷婷综合仓库中文| 国产成人亚洲综合A∨婷婷| 五月丁香六月综合基地| 99热亚洲| 九九人人操| 丁香久久| 极品人妻XXXXOOOO| 一本婷婷丁香久久| 日本99视频精品免费播放| 丁香密臀AV激情网| 任你爽视频| 五月丁香六月婷婷啪啪综合| 99视频在线观看欧| 成人免费va| 日本啪啪网| 色综合五月天| 六月丁花香啪啪激情欧美| 97操碰免费视频| 亚洲精品视频电影| 成人精品一区二区三区四区五区| 色色日韩无码| 久久久免费精彩视频| 激情伊人| 日本啪啪视频HD| 伊人丁香五月婷婷潮吹| 五月丁香六月婷| 五月天激情网址| 久久久久er热| 五月丁香五月婷婷| www.韩日视频| 色玖玖爱| av在线色五月丁香婷区久| 丁香五月天亚洲视频| 99这里| 97色色色色色| 五月天婷婷在看| 大香蕉五月天婷婷| 99热这里只有精品50| 天天日天天操心| 五月天婷婷激情| 国产欧美大香蕉一区| 婷婷丁香花五月天| 激情五月丁香激情综合网| 九九视屏| 99综合五月免费视频色婷婷| 97精品欧美91久久久久久久| 六月婷婷激情小说网| 婷婷激情在线| 伊人喵咪a V| 激情五月天丁香| www夜夜操com| 国产在线aaa片一区二区99| 婷婷综合在线视频| 欧美综合丁香网| 曰曰久久| 99视频极品在线香蕉| 91久久久久久| 99热国内精品| 五月丁香六月激情欧美综合| 国产精产国品一二三在观看| 国产操B视频| 丁香美女主播视频在线观看| 九九成人视频| 97人人看| 99热这里是精品| 丁香五月花影院| 丁香五月1页| 超碰人人干| 久久99网| 天天操夜夜肏| 免费无码毛片一区二区A片 | 婷婷五月天激情网| 天天日天天色| se婷97| 色婷婷在线视频综合| 99精彩视频| 婷婷九月激情| 激情婷婷久久| jiujiujiuwuyuetian| 婷婷丁香色五月| 狠狠干.com| 天天做天天要天天爽| 天天综合网在线| 六月婷婷av| 免费看欧美成人A片无码| 日本熟女啪啪| 国产资源91在线| 五月天婷婷色播综合在线| 亚洲综合丁香五月| 国产精品国产成人国产三级| 天天日夜夜B久久| 九九热在线观看视频| 激情小说五月天| 996热| 99re热精品在线视频| 天堂A∨在线| 99综合在线| 婷婷九月色| 五月婷婷六月天| 亚洲九区| 欧美日本综合网| 亚洲色综合| 婷婷五月天Av| 丁香婷婷成年| 狠狠色婷婷777| 婷婷色一二三区波多野结衣| 99这里只有精品视频| 伊人狠狠色婷婷综合丁香一区| 婷婷激情六月| 久久精典| 亚洲激情综合| 婷婷五月天com| 97luluse| 丁香五月天视频| 五月婷婷人人人操| 天天射影院| 婷婷激情六月综合| 91久女| 天天狠狠六月婷丁香影院| 99ri视频在线播放| 天天干夜夜谢| www.五月天婷婷姐姐| 影音先锋男士资源网一区| 思思re99视频在线观看| 日韩超碰在线| 久久丁香| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 久草热在线视频| 婷婷丁香人妻| 99热人人操人人操| 99啪啪视频| 五月婷庭丁香在线| CAOBIBI| 久久激情五月| 亚洲综合五月天综合| 99九九免费精品| 五月丁香六月香香蕉| 婷婷另类开心| 日韩无码性爱| 五月天婷婷激情| 久久综合激情婷婷激情| 狠狠人妻色综合| 免费观看欧美成人AA片爱我多深 | 久久婷五月天| 久久五月婷综合| 日本九九网| 色噜噜,噜噜色| 色婷婷亚洲在线观看| 亚洲综合激情五月久久| 五月丁香激情深爱婷婷| 久久性视频| 色五月丁香A欧美com | 久久久久久人妻| 狠狠看狠狠| 亚洲久艹| 国产精品A成V人在线播放| 婷婷国产成人| 五月丁香六月色情网欧美| 狠狠色大香蕉| 99re热视频这里只精品| 97碰人人操| 婷婷免费无视频| 色5月婷婷色| 丁香六月天婷婷色| 99热这里只有精品5| 综合久久五月天| 五月熟妇婷婷久久| 99热国内精品| 国产亚洲成人综合| 少妇高潮呻吟A片免费看软件| 日日夜夜干| 九玖欧洲亚洲| 五月丁香久人妻中文| 99热99| WWW色五月| www狠狠| 91色色色18| 五月激情六月宗合| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 久色成人| 亚洲婷婷在线播放十月| 丁香六月青青草| 国产看真人毛片爱做A片| 99欧美| 亚洲婷婷久久综合| www激情婷婷com| 激情五月视频| 色999五月色| 亚洲午夜精品久久久久久人妖| 三级毛片7979| 丁香五月性爱爱五月| 欧美黄色一级| 九九成人电影婷婷| 丁香五月花| 亚洲色婷婷| 99精品综合| www色婷婷| 久久久性爱视频| 国产日韩欧美性爱| 79精品视频在线观看,| 欧美爆乳一区二区三区| 国产高清RV综合aVa| 国产婷婷五月中文字幕高清| 五月天色播网| 狠狠色丁香综合| 婷婷丁香视频在线观看免费| www.激情五月天。com| 色综合婷婷| se99视频| 思思热精品在线| 性爱视频久久| 色色色综合网| 98国产精品综合一区二区三区| 99成人| 欧美性色A片免费免费观看的| 天天做天天爱天天爽| 99精品网| 日比网免费国产| 97操碰人免费| 99人人干人人操| 大香蕉75线| 人妻aV在线| 色色色在线| 99热最新网址| 婷丁五月| 五月天成人在线| 色色网站免费| 色婷婷免费视频| 99这里只有精品视频| 丁香激情网| 五月天丁香婷婷久久九| 九九精品碰| 色色色地址| 丁香五月激情宗合| 天天综合.com| 99热这里只有精彩| 色五月婷婷av| 欧美性做爰大片免费看办公室| 久久精品凹凸分类| 婷婷五月丁香综合桃花色网| 婷婷99热| 玖玖在线资源视频| 99热只有精| 五月丁香大相交| 狠狠狠狠狠干| 操精品9| 日本色图综合| 五月丁香亭亭成人电影| 99精色| 久久98| 久久您您综合网| 亚洲无码yw| mmm1717.6dbm人人爱人人操| 久久视频这里99| 五月丁香久久网| 成人精品视频99在线观看免费| 久久38视频| 综合久久99| 天天操天天草天天草天天| 另类综合激情| 国产精产国品一二三在观看| 日韩无码人妻一区二区| WWW五月婷婷| 婷婷婷婷色| www.天天干| 丁香五月婷婷高清| 婷激情五月天视频导航| 婷婷五月天激情五月天深爱五月天| 激情六月婷婷| 色色综合网www| 久久久91| www色综合| 狠狠狠狠狠狠| www.99热在线| 91啪级电影| 99熟女视频| 九色综合五月天婷五月| 伊人影音无码一区二区三区| 五月天网站亭亭| 五月婷婷丁香六月| 人妻久久婷婷| 人人妻久久妻| 青草青草视频2免费观看| 色激情五月| 91啪级电影| 五月丁香天堂网| 一区二区三区四区牛| 婷婷丁香高潮了| 色热久| 99国产欧美视频| www婷婷亚洲| 97色碰| 狠狠久综合| 性生活久久人妻| 99热久| 大香蕉精品视频| 婷婷五月色激情欧美激情| 黄网在线免费观| 五月丁香婷婷福利| 原琪琪色影院| 99免费偷拍视频| 亚洲久热无码| 免费观看全黄做爰的视频| 色婷婷五月天av在线| 精品人妻在线| 丁香五月婷婷激情中文| 亚洲综合色五月| 婷婷综合五月天| 俺来也综合网精品一区 | 色婷婷电影网| 婷婷五月综合激情| 美女激情综合| 99精品国产在热久久婷婷| 中文字幕色色| WWW色五月| 天天爽天天爽夜夜爽| 色婷婷综合五月| 黄网在线免费观看| 成人五月天丁香婷| 久久婷婷五月天激情四射| 日韩美女在线视频19| 久久99激情丁香婷婷小说网| 99婷婷综合| 亚洲五月天婷婷在线| a性生活久久无| 婷婷五月婷婷五月天| 国产成人精品一区二区三区视频| 色色色99韩| www久久久| 日韩抽插操逼| 国产日韩精品SUV| 久久视频婷婷视频| 精品国产一区二区三区四区阿崩 | 久99| 一根材五月婷成人| 97碰碰碰免费公开在线视频| 婷婷国产日本欧美| 艳妇野外情欲放荡HD| 人人干人人操人人摸人人做| 亚洲成人AV高清字幕| 激情小说之五月| 97碰 在线视频观看| 激情综合网五月天| 激情啪啪五月| 亚洲成人在线播放| 六月丁香基地| 九八Av| jiqingliuyuetian| 久久九九re热| 大香蕉九操| 99久久免费性爱视频`| 裸睡玩奶头(高H)| 五月丁香欧美综合免费视频| 丁香婷婷激情四射五月| 亚洲激情综合| 99人妻碰碰碰久久久久禁片| 九九99精品| VA婷婷亚洲| 久久久精品99| 婷婷中文字幕| 五月天成人在线精品| 超碰色碰碰| 久久99精品久久久久久三级| 色九九综合| 大香蕉久久视频久久视频| 婷婷五月天免费视频| 久久久性爱视频| 丁香五月社区| 久久少妇视频| 久久激情网| 亚洲亚洲人成综合网络| 天天日天天爽夜夜爽| 婷婷色导航| 色婷婷丁香花五月天| 亚洲综合激情五月久久| 久草婷婷| 午夜]香婷婷深深爱| 久久 婷婷 五月天| 激情纯色婷婷五月天在线不卡视频| 一级韩国产精品毛| 99久久婷婷| 天天操夜夜爱| 色婷婷导航| 操97在线观看| AV中文在线| 五月开心深深爱激情综合| 成人一级片| 大香伊人久色| 91超碰人人操| 九月丁香五月婷婷| 色五月大香蕉| 99热亚洲综合| 国产一级片| 五月婷丁香| 五月综合婷婷网| 全高清无码视頻| 色欲AVV| 色色A| 丁香婷婷激情五月天无毒不卡蜜桃| 日韩欧美一区二区三区四区| 色99超碰| 大战熟女丰满人妻AV| 五月天婷婷免费| 日本激情五月天‘| 久久婷婷五月天| 99热99| 五月丁香婷婷五月色| 九九黄色网| 99这里只有精| 亚洲综合婷婷五月| 久久亚洲A| 久久精品63| 丁香五月婷婷www..com| 99热久久这里只有精品| 午夜成人网站在线观看| 色五月婷婷色五月| 91精品国产综合久久久不卡电影| 久久人人超| 久久婷婷综合五月天| 五月丁香激情综合欧美| www.久久| 久久伊人9| 丁香花五月天社区| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久久综合九色综合97婷婷| 99热手机在线精品| aaa久久| 亚洲激情婷婷| 日韩十国产极品久久| 婷婷久久国产视频| 9er热在线精品视频| 五月丁香色色| 丁香婷婷综合激情五月色| 在线成人国产| 超碰2021| 丁香五月婷婷av影院| 嫩草AV久久伊人妇女超级A | 激情婷婷五月社区| 五月婷婷色在线| 国产精产国品一二三在观看| 九九热免费视频| 天天做天天爱天天高潮| 啪啪啪综合网| 99综合| 色五月天丁香| 熟女激情网| 激情综合网五月丁香| 亚洲综合在线播放| 五月久久婷婷天堂视频| 人人摸人人| 日韩一级网站| www.9797国产| 国产精品日日躁夜夜躁| 无码髙清| 亚洲在线综合| 中文字幕在线免费观看视频| 丁香色五月 97干| 综合激情婷婷| 久久五月丁香| 亚洲爆乳无码精品AAA片蜜桃| 激情久久久| 51精品国自产在线| 综合久久十三| 99热欲| 久七香蕉| 9999三级片| 久99热| 色色色在线播放| 六月伊人婷婷| 婷婷五月天偷拍| 99色视频在线| 亚洲综合五月天婷婷丁香| 色色激情五月天| 色婷婷网| 色香蕉精品五夜婷| 丁香五月婷婷激情蜜桃| 激情婷婷九月| www.婷婷五月天.com| 丁香五月在线伊人| 第四色婷婷五月| 五月婷婷中文| 97精品欧美91久久久久久久| 人人草人人爱| 9精品久久999| 怡红院91a√| 99热9| 五月噜噜| 激情综合网五月婷婷| 亚洲AV综合在线观看| 日本三级大片| 九月色婷婷综合亚洲| 99热在线资源| 激情婷婷五月天。| 影音先锋人妻出差| 97干在线播放| 亚洲五月天激情| 在线sebiav精品视频| 亚洲天堂大香蕉| 成人欧美一区二区三区在线观看| 丁香六月天之亚州热女| 日韩久热| 99riav 亚洲| 九九大香蕉黄色影院| 色色99色色| 色婷婷亚洲六月婷婷中文字幕| 欧美久热| 婷婷中文综合网| 免费观看亚洲AV片| 丁香五月激情六月综合| 九九热精品| 成人综合网站| 婷婷狠狠97| 开心久久爱五月天| 五月丁香亭亭| 激情婷婷五六月天| 欧美日韩婷婷五月天| 激情五月婷婷视频一区二区三区| 99re最新地址视频| 色亚洲激情| 99精品网| 色你久久| 天堂草在线观| 免费视频99| 9久热在线精品| 五月天另类综合网| 日本激情91| 刘玥精品一区| 深爱 五月天| 99噜噜| 久久A热| 超碰在线超碰| 97伦乱| 影音先锋xfplay资源男人网| 91人碰| 九色综合五月天婷五月| 国产99美少妇| 99热亚洲精品| 1024人妻无码中文字幕| Se.婷婷五月天| 中文字幕,综合,91| 99精品手机在线视频| 人妻乱码久久久| 超碰在线人妻| 五月丁香婷婷婷激情爱爱| 色婷婷五月亚洲| 亚洲操操| 超碰99在线| 碰97久久| 青青草99热久久精品国| 六月色丁香中文字幕| 99热精品在线观看| 婷婷综合激情| 日韩在线视频中文字幕| 激情婷婷网| 色婷婷五月天视频在线| 男人操女人高潮91视频| 99er精品| 久热无码| 亚洲在线综合| 欧美丁香五月| 五月丁香婷婷激情四射迷人| 日本熟女内射| 狠狠一日| www.五月天。com| 成人无码髙潮喷水A片| 99久久66| 极品人妻VideOssS人妻| 97色婷婷成人综合在线观看| 伊人久久大香线蕉av一区| 99久久.www| 日日噜噜夜夜狠狠久久丁香六月| 91成人看| 久久成人人妻| 99在线免费视频播放| 婷婷色爱| 婷婷久久爱| www.狠狠艹| 密视AV综合在线| 婷婷五月天六月丁香| 91 九色 入口| 亚洲人成色A777777在线观看| 六月丁香激情| 丁香 亚洲 久久| www,色婷婷| 亚洲超碰在线| 就要去操亚洲成人精品五月天丁香婷婷| 激情五月天婷婷丁香| 六月丁香视频网站| 在线观看国产高清视频免费网站 |