99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
婷婷五月天激情在线观看| 如何安全看伊人婷婷| 丁香五月欧美午夜视频| 天天爱天天做综合| 亚洲无码成人| 五月天丁香看婷婷| 国外亚洲成AV人片在线观看| 六月丁香五月婷婷| 婷婷亚洲色| 激情综合网激情五月天| 欧美日本不卡黄色片| 久久人人九九| 99精品色| 另类五月激情| 久久99热精品a片在线观看| 色色色色区| 色婷婷综合网| AA久久| www.五月婷婷久久.com| www。狠狠干。com| 日韩亚洲视频| 插逼综合网| 色六月 婷婷| 97碰久久| 婷婷激情视频| 色高清无码视频| 五月天综合久久| 98毛片| 色情久久久| 国产精品国产| 五月婷婷九九热| 天天干天天日天天操| 五月丁香婷婷久久| xx色综合| 五月综合亚洲| 国模淫穴色图| av中文网站| 男人天堂亚洲综合| 中文字幕丁香五月| 婷婷五月天,影院| 在线观看熟女少妇| 国产激情综合五月| 内射激情在线| 99色热综合| 久久久久久xxxxx| 欧美va视频| 波多野结衣AV无码Porn| 99网址在线看| 激情综合无码| 狠狠 婷婷| 五月天婷婷久久| 九九热最新| 久久66成人网站| 99成人网站| 99综合视频一体| 91精品综合久久婷婷九色| 久婷婷久草| tingtingcaobi| 国产精品久久久久久喷浆| 五月婷婷色| 久久丁香五月| 俺去也五月天| 亚洲12p| 内射人妻视频国内| 丁香婷婷久久五月天| 青青久在线视频免费观看| 丁香五月欧美| 激情综合网激情五月婷婷| JAPANRCEP老熟妇乱子伦视频| 99热在线精品观看| 国产古装妇女野外A片| 99在线免费观看| 思思热在线观看| 热久久99热欧美国产亚洲| 亚洲综合99| 久久综合丁香激情五月| 免费无码毛片一区二区A片| WWW.桔色成人.COM| 色色色色色日韩午夜激情 | 永久地址 色| 综合六月激情婷婷| 五月丁香网站| 欧美精品啪啪| 97色吧| 538在线精品| 中字幕视频在线永久在线观看免费| 一本大道嫩草AV无码专区| 色欲一区二区三区精品A片| 无码激情AAAAA片-区区| 色婷婷五月天无码视频| 丁香五月天啪啪| 狠狠做五月| 九九精品这里只有| 五月婷激情| 91视频一起草| 成熟妇人A片免费看网站 | 六月婷婷深深爱| 婷婷五月天激情综合| 色性日本| 综合色播| 超碰免费电影| 色狠狠999综合网| 亭亭社区五月天| 99热6这里只有精品| 综合五月天| 欧美性丁香色色五月天综合爱爱| 激情五月婷婷视频一区二区三区| 天天日天天舔| 色婷婷综合影院| 成人噜噜网| 激情网第四色| 91狠狠综合久久久| 草久私拍| 激情丁香淫荡婷婷| 久久99婷婷| 极品人妻VIDEOSSS人妻| 色九亚洲| 亚洲天天| 九九综合九| 黄网在线观看免费| 思思久热6| 日本久久婷婷| 婷婷伊人綜合中文| caopeng97日韩| 九九这里都是精品| 激情涩播| 五月婷成人网| 狠狠色成人影片| 狠狠色噜噜狠狠狠狠狠色综合久久| 日本三级中文字幕| 免费亚洲婷婷五月| 五月婷婷性爱网| 日韩中文欧美| caop在线| 极品九九九九九九| 26uuuuuuuu国产| 丁香六月在线| 精品99在线| 婷婷丁香亚洲五月天| 婷综合| 99re久热| 五月天激情视频五月天| 免费观看全黄做爰的视频| 99偷拍视频在线日本| 欧美久久五月婷婷| 99久re热视频精品98| 欧美 日韩 成人| 天天拍夜夜撸| 亭亭玉月丁香| 99免费综合网| 一起草AV| 五月婷婷黄色| 日本91在线| 99日本视频在线观看专区| 激情久久四色| 色情综合| 九九这里有精品视频| caop在线视频| 五月开心婷婷网| 激情综合九月| 色综合综合色| 亚洲国产成人综合| 9久久久久| 思思久久99| 久久婷五月影院| 深爱激情五月天婷婷网| 六月婷婷色综合| 成人亚洲精品| 狠狠草狠狠草| 中文字幕婷婷五月天| 欧美五月婷婷| 人妻操逼视频。| 色婷婷五月综合| 激情综合网婷婷五夜| 久久国产精品乱子伦_靑青草…| 色婷婷a v| 婷婷五月色花丁香社区| 可以免费观看的AV| 99激情网| 久久久婷| 九九视频精品视频精品| 182.t午在线观看| Jh7Uf088VHafNm| 97精品人人A片免费看| sS丁香五月婷婷| 天天综合在线网| 色噜噜综合网| 激情六月婷婷| 五月婷婷婷婷婷| 牛牛澡牛牛爽| 丁香五月婷婷欧美成人色图| 中文字幕成人影视| 激情av| 成人精品在线| 色国产五月| 嫩草AV久久伊人妇女超级A| 99这里只有免费的精品| 五月婷婷丁香日韩在线| 天天干一干| 小泽玛利亚视频一区二区| 人人播| 91成人电影| 欧美熟女99| 26uuu视频欧美| 欧美精品999| 久久杏爱视频| 欧美性生交XXXXX无码小说| 婷婷六月激情丁香| 97自拍99| 国产精品涩涩涩视频网站| 色。 婷婷婷| se色婷婷视频| 九九99精品视频| 久热无码| 色婷婷亚洲综合av| 色五月天在线观看| 欧美丁香婷婷五月天| 婷婷爱五月| 欧美99热| 91久久电影| 婷婷天堂综合| 99这里只有精品在线观看| www.ywav| 99热手机在线精品| 丁香五月区| 国内9l视频自拍老熟女九色| 玖玖婷婷五月天| 九九色影院| 亚洲欧洲中文日韩久久AV乱码| 婷婷五月丁香久久| 啪啪啪大香蕉| 婷婷五月天性爱视频| 久久婷婷婷| 操笔无码| 91丨九色丨熟女|老版| 激情AV| 亚洲激情网站| 九九九热精品| 色婷大香蕉| 99视频精品在线| 久色资源网| 91天天操天天干天天射| 久久全色| 亚洲精品久久久久久久久久吃药| 五月婷婷三级| 亚洲日日日| www久久久| 超碰97在线观看免费| 婷婷涩五月| 日韩AV中文字幕在线| 天天拍天天操| www.maotanji.com| 五月丁香在线看| 九九热超碰| 怡春院天天干| 9色91视频| 婷婷涩涩五月天| 丁香五月婷婷成人网| 国产永久一黄| 婷婷五月丁香青青草在线| 日韩久久色| 五月天六月婷婷电影| 六月丁香六月婷婷欧美| 久草嫩草在线观看| 性爱网五月婷婷| 九九色热| 操操操Av| 六月婷婷久久大全| 无码人妻一区二区三区免费九色| www..com色爱| 日日操夜夜操狠狠操| 丁香五月开心亚洲| 97热久久五月婷婷| 婷婷五月天中文字幕| 久久九九激情五月天| 欧美25p| 激情综合五月天| 色色综合日韩| 天天草人人摸| 成人色五月天婷婷| 97干视频在线| 99啪啪网| 五月婷啪啪| 91精品国产色猫| 2025神马午夜福利| 欧美大肥婆大肥BBBBB| 国产 码在线成人网站| 色色亚洲| 婷婷丁香人妻天久久| 六月色激情| 日韩一级一片内射视频4K| av在线资源| 日本久久精品| 久久综合丁香激情五月| 九九99久久| 婷婷操逼| 久99久热| 成人AV免费观看| 五月天婷婷综合| 婷婷五月六月| 色噜噜五月天| 婷婷丁香熟妇综合网| 婷婷六月综合基地| 99综合| 91超碰人人操| 婷婷中文字幕| 琪琪色五月婷婷老师| 成人做爰A片免费看网站找不到了| 99只有精品| 成人丁香五月| 五月丁香综合激情| 99热这里有精品| 天天操婷婷| 综合网激情| 深爱五月天| 色色婷婷五月天| 天干干夜夜操| 天天草比天天爽| 五月天天天色| 婷婷人人操| 九九视频在线观看| 婷婷综合网站| 日本强伦片中文字幕免费看| 国产精女同一区二区三区久| 色婷婷啪啪| www.综合久久.com| 9九热视频| www.五月激情.com| 丁香五月在线| 色婷婷久久| 中文av网| 亚洲综合色成丁香五月色| 综合久久五月| 99日本精品视频热| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 特级片神马电影| 天天草天天日| 婷婷丁香九月| 刘玥av在线| 欧美偷偷操| 激情av在线| 五月婷婷另类| 五月婷婷AV| 五月激情婷婷综合| 香蕉久操| 婷婷五月激情中文字幕| 超碰99成人在线| 亚洲无码yw| a九九热www| 深爱激情网五月| av网站中文| 极品另类| 久久性综合| 婷婷久久伊人| 五月丁香六月婷婷不卡免费无码 | 99色婷婷| 婷婷五月成人社区| jiujiu热在线视频| 99热这里只有精品在线观看| 五月丁香综合激情| 五月亭亭欧美女人| 五月婷婷激情色情网| 这里只有精品无码| 丁香六月婷婷色XXXX| www,色婷婷| 99秘 在线| 九九色图| 国内久久久精品99| 天天做综合| 99精品免费欧美小视频| 午夜少妇在线观看视频| 综合另类视频| www.日日夜夜.com| 性做爰A片免费视频A片直播| 婷婷永久在线| 欧美色婷婷| 亚洲综合婷婷| 婷婷99丁香| 五月婷婷色综图片| 亚洲av网站| 色婷婷a三区麻| 99久久9| 丁香视频| 激情五月色播五月| 99久久欧美| 丁香六月天AV| 色噜噜狠狠色综无码久久合欧美| 亚洲AV综合网| 九九人人精品| AV色婷婷| 久久与婷婷| 欧美日韩精品一区二区三区钱| 五月婷高清视频| 5月丁香啪啪啪| 婷婷久久精品| 99ri视频在线播放| 久久综合影院| 99热99在线| 婷婷五月天网址| 五月丁香淫淫婷婷婷| 玖玖99婷婷| 婷婷五日b| 色婷婷激情| 久久婷婷视频| 激情六月婷婷| 性小说五月天| 五月天久久色| 久久99成人性爱高清视频| 青青草国产亚洲精品久久| 婷婷五月丁香综合亚洲 | 国产人人操| 久久久久人妻精选| 久久婷婷桃花五月天| 综合图区激情| 激情五月狠狠喔| 婷婷 月 丁香| 99视频久久久| 精品久久99码| 久久99激情| 五月天开心网| 思思热再线视频| 大香蕉综合视频在线| 西瓜美女a片| 天天日天天干天天插天天射| 五月天丁香看婷婷| 久久久香| 丁香五月天色| 久777| 色色色色色色色色色色色色色色,网站| 97大香蕉五月天| 婷婷五月18永久免费视频| 狠狠色狠狠色综合日日91| 婷婷五月另类网站| 亚洲在线操| 五月激情视频| 国产精品五月天婷婷| 久久aaaaa| 国产精品日日躁夜夜躁| 99这里只有免费的精品| 青青操日本摸摸看看| 四月婷婷五月丁香| 五月丁香六月婷婷综合在线| 无码99| 中文字幕网伦射乱中文| 亚洲区视频| 91精品久久久久久77777| 爱草视频在线观看| 色婷婷综合电影| 一起草Av| 久热这里只有精品66| 97丁香视频| 久婷| 秋霞影音91人妻久久| 久久九九经典| 天天干,夜夜爽| 九九久久综合网站| 久久婷婷综合基地| 五月婷婷香蕉| 国产97色在线 | 日韩| 五月天丁香六月综合| 超碰久热| 亭亭五月丁香五月天激情| 国产精产国品一二三在观看| 玖玖婷婷五月| 极品 少妇 内射| 91碰操| 91碰碰| 操逼五月婷婷| 亚洲另类婷婷综合| 色综色五月天婷婷| 欧美精品999| 久久国产一区二区三区| 综合伊人久久| 白天AV月月| 婷婷久久在线| 夫妇交换刺激做爰| 久久9视频欧美| 婷婷综合成人五月天| 久久加勒比| 啪啪啪大香蕉| 五月天婷婷综合网| 婷婷日| 久久综合网桃花| 亚洲乱码日产精品BD在线观看 | 99九九久久| 久久视频这里有精品99| 婷婷欧美激情综合| 另类激情五月| 婷婷六月丁综合| 婷婷色五月天在线观看| 99综合| 嫩草综合网| 五月婷婷七月丁香| 丁香婷婷综合影院| 激情综合五月天| 激情五月五月婷婷| 久久久久人妻精选| 琪琪理论片| 超碰色女| 色色热| 久久99操| 五月天久久91| 五月丁香婷成人网| 色吧五月| 极品色丁香| 99热久久这里只有精品2010| 亚州激情在线视频| 中美日韩成人在线| 日韩黄色电影| www.刺激色网站www.| 熟女人妻视频| 婷婷色五月激情| 久久久18| 大香蕉天堂| 婷婷开心久久| 激情六月婷| 天天插天天插天天日| 亚洲一级AV在线免费播放| 99色综合久久| 色五月亚洲| 午夜大香蕉| 九九视频这里只有精品| 成人短视频在线观看| 激情婷婷六月天| 国语精品探花| 狠狠插狠狠| 丁香五月婷婷六月婷| 婷婷综合激情五月中文字幕| 九九熱最新視頻| 六月色播| 99热精品在线播放| 久久久97| 天天情天天狠天天透| 99色热视频| 综合色影院| 視频福利乱色| 婷婷情色五月天| 91九色欧美| 天堂网色色| 丁香五月婷婷Av| 中文字幕天天干| 九月丁香婷婷网| 色婷婷亚洲综合网站| 婷婷丁香六月天| 婷婷五月丁香成人| 欧美综合在线五月天色婷婷| 情婷婷五月天| www.99热| 成人AV免费观看| 色优久久| 亚洲无码99| 性综合网| 五月天婷婷狂暴白浆| 婷婷五月欧美综合| 亚洲精品**不卡在线播he| 婷婷丁香黄色| 9999热在线免费观看| 9精品视频在线| 五月天堂色| 五月丁香大香蕉| 五月丁香色婷婷婷基地| 99日韩网站| 五月丁香六月情| 九九在线精品| 天天射影院| 风流少妇A片一区二区蜜桃| 天天综合在线网| 国产看真人毛片爱做A片| 亚洲AV在线免费看| 9热在线观看| 亚洲综合婷婷五月| 欧美美女国产日韩一区二区久| 五月丁香六月婷婷a v| 丁香五月婷婷综合网| 亚洲aV写真天天综合网久久| 久久九色| 国产美女无遮挡裸体毛片A片| 欧美经典片免费观看大全| 99欧美精品99日本精品| 91好好热日本在线| 亭亭玉立国色天香| 婷婷五月天BBw| 182TV大香蕉| 99精品性爱| 91色性感五月婷婷丁香| 99热销国产这里有精品| 丁香五月天天| 久久久久久人妻| 婷婷激情五月| 玖玖婷婷色欲| 久久婷婷五月天激情新地址| 久久一二三视频| 色欲久久久久| 色色激情| 超碰色女人| 激情美女五月天| 婷婷色五月综合丁香| 五月婷婷丁香在线视频| 中文无码婷婷| 超碰69天堂| 99ri精品视频在线观看| 日日肏天天操| 色色色色av色色色色| 色色a| 色约约视频一区二区三区四区五区| a九九热www| 婷婷六月网| 九九视屏| 操操综合网婷婷| 日本久久综合| 狠狠狠狠狠狠| AV成人在线网站| 超碰人人操人人干| 天天天操天天天日| 欧美性爱五月天| 亚洲色图五月丁香| 亚洲国产色色| 五月丁香六月激情| 中文字幕成人| 噜噜噜久久| 骚逼视频一区2区| 影音先锋按摩| 五月天社区| 婷婷香蕉精品| 天天综合亚洲综合网天天αⅴ| 五月六月婷| 国产成人精品一区二三区熟女在线 | 天天综合精品| 91聚色综合网| 另类小说五月天综合| 综合久久久| 五月天婷婷色综合| 日日婷婷不卡| 色婷婷色99国产综合精品| www.97碰碰com| 丁香六月婷婷综合在线| 丁香六月婷婷综合欧美| 97涩婷婷| 天天干天天干天天干天天干天天干天天| 婷婷五月亚洲综合| www.com亚洲网站在线免费| VA婷婷亚洲| 激情五月婷| 热九九精品| 类似婷婷激情综合网站| 任你爽视频| 天天操五月天| 99热精品无码| 高清av在线国产| 99性感视频| 色欲色欲久久宗合网| 婷婷色五月天第7色| 思思热视频在线| 婷婷色丁香五月| 综合婷婷五月天| 丁香五月手机视频| 99爱视频在线| 91操在线观看| www.夜夜操| 色欧美日| 激情小说五月天| 久九九热| 99婷婷国产最新视频| 99噜噜噜| 激情久久久久久久久久| 另类激情四射| 天天色色天天| 99热在线观看99| 噜噜视频| 色欲影香| 婷婷婷婷婷婷婷婷| 伊人婷婷大香蕉| 色色色婷婷五月| 性色婷婷| 亚洲男女激情| 色色影院aaaav| 一区二区三区四日本| WWW.开心五月天.COM| 国产99久9在线+|+传媒| 高清无码视频网址| 玖玖99精品视频| www.99久| 欧美激情五月天婷婷| 超碰成人公开| 色爱亚洲| 国产成人在线精品| 午夜丁香| 五月丁香花免费视频| 欧美日韩国产一二区| 欧美综合五月丁香五月天| 九久九精品| 国产成人亚洲综合A∨婷婷| 日本黄色在线观看| 国产精品色色| 久久99最新| 色啦啦视频| 婷婷欧美激情综合| 江苏少妇性BBB搡BBB爽爽爽| 五月天婷婷开心| www.久9| 婷婷五月天黄色| 深爱激情九九五月天 | 日本91在线| 狠狠五月激情在线| 色婷婷无吗| 六月婷久久| 性爱在线播放av| 国产AV成人精品| 亚洲综合另类| 亚洲五月天狠狠| 91操在线观看| 五月丁香色综合| 五月网网站| 婷婷99热| 婷婷色五月91啪啪| 日本久久人| 婷婷丁香五月天欧美| 99视频综合网| 婷婷五月激情中文字幕| 色丁香影院| 99色色爰| 日韩人妻白浆视频系列| 99A级片| 天天日,夜夜爽| 99碰碰视频| 538在线精品| 激情婷婷色五月| 五月天激情综合在线| 成人免费超碰| 婷婷色综合| 成人免费va| www.狠狠干| w婷婷五月婷婷w| 五月丁香婷婷激情爱爱| 五月婷婷丁香| 日本欧美成人片AAAA| 综合狠狠干| 欧美 日韩 成人 在线| 婷婷丁香中文字幕| 五月婷婷综合在线| 热99久| www.超碰97| 91丨九色丨国产打屁股| 久久偷拍综合五月天| 人妻性爱| 久久网日本| 免费在线观看av网站| 五月婷激情| 另类图片激情五月| 丁香六月色婷婷| 天天操夜夜啊| 五月婷婷激情| 婷综合六月| 熟妇人妻中文字幕无码老熟妇| 五月婷婷啪啪网| 能看的av| 久久A V无码视频| 99精品7| 丁香婷婷五月天校园春色| 久天综合| 97色操| 玖玖九九9999在线观看视频精品| 亚洲日韩一页精品发布| 欧美日韩一区二区三区四区| 超碰国产在线观看| 精品色| 涩五月丁香| 成人羞羞啪啪 全 视频| 97操在线视频| 熟女网站久久| 人人操操| 婷婷婷狠狠| 成人国产欧美大片一区| 五月天婷婷免费| 色五月AV| 国产午夜精品久久久观看| 久久这里只有精品无码| 思思热在线视频观看精品| 九九碰九九爱97| 91偷拍视频| 色婷婷777狠狠| av无码电影| 丁香五月综合久久综合| 色婷婷影音| www.99精品视频| 日本欧特黄色刺激一区影视久精品无码| 五月婷九九草| 久婷视频| 婷婷色网址| 六六久久黄色| 亚洲乱码日产精品BD在线观看 | 日日干天天爽| 婷婷丁香十月| 国产精品18久久久| 图片区 小说区 区 亚洲五月 | 97干在线观看视频| www.99热这里精品| 五月婷婷色影院| 在线观看亚洲AV| 久操激情| 色色丁香婷婷综合| 六月婷婷色综合| 久这里只有精品99| 色婷婷六月激情| 亚洲综合视频一下| 婷婷五月六月丁香综合| 久久久久久性爱视频| 操骚货在线| 婷婷综合精品| 国产成人网站在线观看| 最近免费中文字幕大全高清大全1| 午夜不卡久久精品无码免费| 日韩av一区二区在线/日产精品久久久 | 99色精品视频| www.色五月| 国产色色网址网站| 亚洲天堂热| 夜夜天天天天天干天天爽| 久色五月| 97狠狠色| 婷婷精品视频| 五月成人丁香av91| 色综合99无码| 亚洲成人在线综合| 精品五月视频婷婷在线观看| 丁香婷婷射| 五月成人天| 激情五月婷婷丁香| 日日噜噜夜夜狠狠久久丁香五月| 少妇2做爰HD韩国电影| 青青草婷婷久久| 五月丁香啪啪激情| 色综合网综合| 精品人妻在线| 国产AV一区二区三区最新精品| 1024久婷| 五月激情六月| 视频一二区| 五月视频日本免费观看| 日韩精品二三区| 六月婷婷中文字幕| 婷婷九九色| 婷婷丁香五月亚洲欧美| 五月婷婷狠狠干| 丁香五月久久| 4399无码视频二区| 亚洲激情五月| 五月天伊人av| 色99网站| 欧美成人精品三区综合A片 | 五月丁香花开综合网| 久久人妻久久| 中文字幕人妻熟女在线| 国产44页| 九九爱看亚洲| 中文色婷婷| 操操综合网婷婷| 久久久999精品| 国产精品香蕉| 深爱五月婷婷| 五月婷婷日| 婷婷在线操| 久久久网站| 韩国97天堂| 丁香五色月婷婷网| 色九亚洲| 亚洲综合欧美色丁香婷婷888月图片| 久操无码| 播五月丁香三月婷婷| 国产欧美熟妇另类久久久| 五月婷婷啪啪啪| 天天视频亚洲| 久久久国产精品黄毛片| 99九九综合久久九九| 99re热视频这里只精品| 日本三级大片| 婷婷五月丁香91| 综合久色五月| 五月色婷婷综合| 天天躁日日躁狠狠躁日日躁2022年5月9日| 五月婷婷色播| 伊人AV五月婷| 激情丁香五月| 九久9精品| 狠狠干五月天| 欧美日韩精品一区二区三区钱| 九九热视频网站| 色久播播| 五月天激情网图片 - 百度| 99ri精品| 91精产一区三区免费观看| 天天插AV丝袜中| 欧美丰满熟妇BBB久久久| 最新日本A片| 久久人人九九| 伊人五月婷婷| 亚洲色亚洲精品| 伊人久久婷婷五月综合97色| 五月综合视频在线| 91久久久久久久| 另类激情五| 色色色图| 第四色色色色色丁香五月天| 内射激情在线| 97精品综合| 亚洲性受XXXX五月丁香| 大香蕉婷婷五月天| 99亚洲视频| 婷婷五月情| αV电影| 五月激情网综合| 欧美日韩国产成人在线| 亚洲综合狠狠艹| 午夜AV网| 激情婷婷五月天日本系列| 99ri6在线视频| 丁香五月激情婷婷| a毛片二逼wwwwwwwwww| 六月丁香婷婷六月激情综合| 欧洲综合一区| 丁香六月激情网C0W| 久久全色| 99视频久久| 九九中文字幕九| 综合久久五月天| 五月天激情图片网| 无套内射极品大美女| 大香蕉伊在| 婷婷五月天视频亚洲| 九九美女视频| 色碰碰| 久久在线92| 久久久久久激情| 91se在线视频| 激情五月五月婷婷| 激情美女五月天| 亚洲乱码日产精品BD在线观看| 丁香女人五月天| 天堂成人A片永久免费网站| 国产热精品| bukadeavzaixian| 热99在线精品| 天天操夜夜爽天天操| 色爱终和网| 久久久99日本大片| 激情综合网五月婷婷| 插插插丁香五月婷婷| 久久丁香五月天| 99热99这里有免费的精品| www.久久| 欧美天天干天天草| 69久久99精品久久久久| 婷婷色五月天在线| 人人看人人草人人摸| 九九99偷拍视频| 欧美精品99| 婷婷五月综合色中文字幕| 婷婷中文无码| 色综合爽| 亚洲欧洲中文日韩久久AV乱码| 婷婷激情五月综合丁| 久久视频婷婷| 色婷婷五月天偷拍| 色丁香婷婷| www.五月婷婷.com| 亚洲第一成人无码A片| 六月丁香五月激情网| 青青草五月天| 99re在线观看| 亚洲色激情| 日本综合久| 九月丁香很很色| 色婷操逼| 色视五月天婷婷| 成人网页在线观看| 狠狠色丁香| 激情婷婷网| 超碰超碰在线| 亚洲成人在线在线| 玖玖综合网| 开心五月深爱五月婷| 大香蕉Av在线| 北京熟妇搡BBBB搡BBBB| 婷婷六月丁香五月| 久色视频在线| 亚洲最大成人综合网720P| 天天影视天天爽天天草| 日日夜夜青青草| 久久五月婷婷丁香| 色婷婷丁香女女| 欧美久久网| 艾小青av| 精热在线综合网| 综合久久六月| 国产精产国品一二三在观看| www.久久综合| 激情婷婷五月天日本系列| 九九色图| .肏屄视频一区二区| 久久九九99| 91九色欧美| 这里只有精品视频一区| 五月婷婷啪| 91九九热| 久久综合五月天| AV成人在线播放| 再綫Av免费視品| 天天操天天干天天射| 人妻AV在线| 色婷婷久久综合久色综| 丁香五月第九色| 婷婷在线综合| 超碰成人在线免费观看| 99久热| 26uuu精品一区二区| 五月天激情婷婷小说| 婷婷五月蜜桃成人桃色丁香| 99ri视频在线播放| 激情五月天天| BBWCUCKOLD精品熟妇| av色婷婷| 五月婷婷九九热| 夜夜撸天天日| 婷婷狠狠香蕉综合| 日韩AV免费看| 日本99热| 色婷五月天| 欧美婷婷日本| 91碰超| 黄色AAAAA| 欧美噜一噜| 亚洲激情五月婷婷日日| 欧美性猛交99久久久99| 人妖色AV色综合| 久久婷婷五月天丁香| 久久久天堂国产精品女人| 99re热在线视频| 亚洲日日操| 婷婷五月花西瓜| 婷婷五月天,影院| 激情五月天婷婷免费观看| 97操碰视频| 青青999| 丁香花综合永久入口| 久久全意婷婷| 狠狠草狠狠草| 青草五月天| 国产成人亚洲综合A∨婷婷| 碰碰女| 久久婷五月天| 欧美久久婷婷| 99热这里只有精品青草| 婷婷五月色播放| 丁香九月激情| 另类小说色婷婷| 青青草激情网| 色五月天综合网| 婷婷亚洲综合| 亚洲操人| 最新高清无码专区| 午夜69成人做爰视频| 五月天婷婷激情| 色五月激情五月| 熟妇人妻中文字幕无码老熟妇| 久久激情五月| 色噜噜综合网| 天天日天天舔| 成人美女网| 亚洲12p| 婷婷综合中文| 久久曰9| 91 九色 入口| 五月婷婷之综合激情在线| 久操香蕉| 97涩婷婷婷婷基地| 狠狠色婷婷7777久综合| w婷婷五月婷婷w| 97碰在线免费观看| 干一干xxxx| 婷婷放心五日爱| 婷婷五月天成人五月天| 精品99网站| 天天干天天爽天天操| 色婷婷六月天在线| 亚洲午夜一区二区| 狠狠香蕉| 粉嫩AV久久一区二区三区| 99久久超级| 丁香六月婷婷社区| 无码人妻电影| 色婷婷狠狠干| 99热日本| 五月综合视频| 午夜成人天堂久久无码日韩久久| 在线日韩视频| 欧美成人精品一区二区 | 色一区高清| 亚洲狠狠狠色婷婷综合激情久久久| 六月丁香五月激情网| 久色欧美| 超碰免费人人| 嫩草AV久久伊人妇女超级A | 天天干、天天日日| 最新va在线播放| 日本99视频| 黑人巨粗进入警花疼哭A片| 看逼中文字幕| 色婷操逼| 久久婷婷婷婷伊人| www.henhenl| 久热免费视频| 亚洲成人av在线播放| 99色在线观看免费| 久久视频九九视频| 在线另类视频| 婷色五月天| 丁香五月婷婷老师网站| 久久五月视频| 丁香婷五月| 婷婷色在线视频| 人妻内射一区二区在线视频| AV在线二十六页| 色色婷婷五月天| 天天狠狠色| 婷婷九月激情| 成人.在线日韩| 成人短视频在线免费观看| 九九sese| 天天爱综合网| 这里只有精品久久| 丁香五月综合久久综合| 婷婷久久精品| 色五月婷婷久久大| 亭亭玉月丁香| www.婷婷六月天| 99热综合在线| 丁香六月婷婷综合激情欧美| 深爱激情网五月天| 色五月色图| 国产毛片精品一区二区色欲黄A片| 91九色熟女| 99免费视频网| 思思热在线精品视频| 99热99草97| www,婷婷五月天777me,com| xxxx久| 久久久久久久久久久久久久久久久精典| 99爱视频精品在线观看| 高清无码视频网址| 国产伦亲子伦亲子视频观看| 99黄色性生活| 亚洲成人五月| 久久五月婷综合| 操久久精| 五月丁六月婷| 五月婷婷深深爱| 婷婷操久久| 伊人五月丁香| 久久久久久久11111111111| 九九九九毛片| 五月婷婷丁香社区| 熟女强人妻一区二区三区四区无| 日本九九九九| 五月天伊人| 超碰免费电影| 天天干天天操天天上| 五月婷婷丁香五月| www.久久久久| 91久久电影| 超碰资源在线| aaa9区免费在线观看| 婷婷五月AV| 少妇伦子伦精品无吗| 99色激| 中文字幕,综合,91| 亚洲人人操| 激情六月一二| 八戒青柠影视剧在线观看| 欧美噜噜免费观看 | 九热视频精品| 激情色色色| 亚洲亚洲人成综合网络| 久草婷婷| 超碰精品在线| 五月婷婷黄色网址| 五月情四婷婷| 亚洲视频在线观看| 操操操操操操婷婷五月天| 超碰在线观看9| 欧美99视频| 天天摸天天透天天舔| 操草草草| 狠狠xx| 久久久9久| 永久AⅤ1| 婷婷丁香大香蕉| 日韩五月天婷婷| 97色色色| 国内婷婷丁香社区在线播放| 亚洲 小说 欧美 激情 另类| 影音先锋 婷婷| 亚洲视频在线观看99| 一起草av| 日本怕怕视频| 99热综合| 久久伊人日日夜夜| 欧美色频| 日日夜夜狠狠婷婷色| 亚洲操操操| 玖玖资源网站最新站| 激情五月婷婷| 日日夜夜综合| 91a片爽| www.人人操人人看人人想人人摸 人人人人操,COM | 五月丁香六月激情视频| 久草视频大香蕉99| 六月色色婷婷| chaopengdaxiangjiao| 九色色| 色婷婷啪啪| www五月| 久久9精品| 九色PORNY9l原创自拍| 26uuu国产色| 嫩草AV久久伊人妇女超级A| 久久婷婷操| 亚洲天堂制| 色婷婷五月色| 久久丁香| 丁香婷婷久久| 亚洲亚洲人成综合网络| WWW.夜夜| www.sebowuyue| 五月丁香啪啪啪| 精典久久| 激情五月天婷婷| 天插天啪天啪天啪| 亚洲最大视频网站| 婷婷玖玖五月天| 国产在线中文字幕| 人妻熟人中文字幕一区二区| 五月丁香婷婷成人综合网| 玖玖激情网| 亚洲不卡| 97涩涩丁香五月天| 99精彩视频在线观看| 色色亚洲| 丁香六月中文| 99caobi| 66色在线日韩| 久久婷婷激情五月天一区二区| 99在线视频观看| 操操人人| 成人色情五月天婷婷丁香| 大香蕉丁香| 夜夜撸日日操| 欧美婷婷五月激情| 99热热热国产超碰| 色色亚洲| 类似婷婷激情综合网站| 爱性综合网| 日韩美一级毛卡片| 97综合在线| 色五月婷婷大| 99色五月| 综合久久五|