欧美亚洲韩国_av电影院在线看_久久久久97_台湾佬中文娱乐网欧美电影

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

什么是單點(diǎn)登錄?下面本篇文章給大家給大家介紹一下單點(diǎn)登錄原理,聊聊使用Node實(shí)現(xiàn)單點(diǎn)登錄SSO的方法,希望對(duì)大家有所幫助!

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

什么是單點(diǎn)登錄

隨著公司業(yè)務(wù)的增多,必然會(huì)產(chǎn)生各個(gè)不同的系統(tǒng),如果每個(gè)系統(tǒng)都需要單獨(dú)登錄的話就會(huì)很不方便。

因此產(chǎn)生了單點(diǎn)登錄這樣的解決方案,單點(diǎn)登錄全稱 Single Sign On,簡(jiǎn)稱SSO,意思是在多個(gè)系統(tǒng)應(yīng)用群中登錄一個(gè)系統(tǒng),便可在其他所有系統(tǒng)中得到授權(quán)而無需再次登錄。

比如小明今天登錄了淘寶,如果沒有登錄,就會(huì)被要求輸入認(rèn)證信息(用戶名密碼等),登錄過后再去訪問天貓的頁面時(shí)就不需要登錄可以直接訪問。

單點(diǎn)登錄原理

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

SSO 需要有一個(gè)獨(dú)立的認(rèn)證中心,只有獨(dú)立的驗(yàn)證中心能接受用戶的用戶名密碼等安全信息,其他系統(tǒng)不提供登錄入口,只接受認(rèn)證中心的間接授權(quán)。 整個(gè)過程可以簡(jiǎn)單的用上圖描述:

  • 當(dāng)用戶登錄訪問應(yīng)用A時(shí),應(yīng)用A發(fā)現(xiàn)用戶未登錄,跳轉(zhuǎn)至SSO認(rèn)證中心,并將自己的地址作為參數(shù)方便回調(diào)

  • SSO認(rèn)證中心發(fā)現(xiàn)用戶沒有登錄過,將用戶引導(dǎo)至登錄頁面;用戶填寫用戶名密碼提交登錄申請(qǐng);SSO認(rèn)證中心校驗(yàn)用戶信息,創(chuàng)建用戶雨SSO認(rèn)證中心的會(huì)話(這時(shí)會(huì)把信息保存到cookie中),同時(shí)創(chuàng)建授權(quán)令牌token

  • sso認(rèn)證中心帶著令牌跳轉(zhuǎn)到最初的請(qǐng)求地址(應(yīng)用A)

  • 應(yīng)用A拿到令牌去SSO認(rèn)證中心認(rèn)證是否有效,如果返回有效注冊(cè)應(yīng)用A

  • 應(yīng)用A創(chuàng)建與用戶之間的會(huì)話,展示資源并維持用戶登錄態(tài)

  • 當(dāng)用戶訪問應(yīng)用B時(shí),發(fā)現(xiàn)用戶未登錄(SSO認(rèn)證服務(wù)器與應(yīng)用A應(yīng)用B不是同一個(gè)域,不能提供登錄態(tài)),跳轉(zhuǎn)到SSO認(rèn)證中心,并將自己的地址和之前和SSO認(rèn)證中心會(huì)話的cookie信息帶入

  • SSO認(rèn)證中心發(fā)現(xiàn)用戶已登錄,跳轉(zhuǎn)回應(yīng)用B地址,并附上令牌token

  • 同樣的應(yīng)用B拿到令牌去SSO認(rèn)證中心認(rèn)證是否有效,如果返回有效注冊(cè)應(yīng)用B

  • 應(yīng)用B創(chuàng)建與用戶之間的會(huì)話,展示資源并維持用戶登錄態(tài)

NodeJS 演示

三個(gè)不同的服務(wù)

這里我們需要啟動(dòng)三個(gè)服務(wù)來分別模擬 應(yīng)用A,SSO認(rèn)證服務(wù)器和應(yīng)用B

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

這里端口號(hào) 8383的服務(wù)是SSO認(rèn)證服務(wù)器,其余的 :8686 和 :8787 分別代表應(yīng)用A與應(yīng)用B。

其實(shí)應(yīng)用A與應(yīng)用B的代碼幾乎一樣,如上圖所示我們可以通過穿參的方式來設(shè)置不同的端口及應(yīng)用名。

先來看下效果

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

首次訪問跳轉(zhuǎn)至登錄頁

應(yīng)用A判斷登錄態(tài),跳轉(zhuǎn)到SSO認(rèn)證服務(wù)器

應(yīng)用A

const Koa=require('koa'); const Router=require('koa-router') const views=require('koa-views') const static=require('koa-static') const path=require('path'); const app=new Koa(); const router=new Router(); const session=require('koa-session') const koa2Req=require('koa2-request');  //模版引擎相關(guān)配置 app.use(views(path.join(__dirname,'./views')),{     extension:'ejs'   }) app.keys=['key']  const keyMap={   '8686':'koa:sess8686',   '8787':'koa:sess8787' } const CONFIG={     key:keyMap[process.env.PORT] || 'koa:sess',     maxAge:1000*60*60*24,     httpOnly:true } app.use(session(CONFIG,app))  const system=process.env.SERVER_NAME router.get("/",async (ctx)=>{     //通過 session來判斷 應(yīng)用A的登錄狀態(tài)     let user=ctx.session.user     if(user){      //...     }     else //1、當(dāng)用戶登錄訪問應(yīng)用A時(shí),應(yīng)用A發(fā)現(xiàn)用戶未登錄(應(yīng)為服務(wù)器沒有保存對(duì)應(yīng)的session)     {       let token=ctx.query.token       //第一次登錄url上也不會(huì)有令牌       if(!token)       {       //1、跳轉(zhuǎn)到SSO認(rèn)證服務(wù)器        ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)       }       else       {         //...       }     } }) app.use(router.routes())   const port=process.env.PORT||8888  app.listen(port,()=>{     console.log(`app ${system} running at ${port}`)  })

認(rèn)證服務(wù)器判斷登錄態(tài),渲染登錄頁

認(rèn)證服務(wù)器SSO

認(rèn)證服務(wù)器的目錄結(jié)構(gòu)如下 主要處理兩個(gè)功能,一是登錄邏輯,二是之后驗(yàn)證令牌的有效性,分別有路由 login.js 和 check-token.js 處理

什么是單點(diǎn)登錄?怎么使用Nodejs實(shí)現(xiàn)SSO

Auth/index.js

const Koa=require('koa'); const Router=require('koa-router') const views=require('koa-views') const path=require('path'); const app=new Koa(); const router=new Router(); const login=require("./routes/login") const checkToken=require('./routes/check-token') const bodyparser=require('koa-bodyparser')  app.use(views(path.join(__dirname,'./views')),{     extension:'ejs'   }) app.use(bodyparser()) //處理登錄相關(guān)的邏輯 router.use('/login',login.routes()) //處理令牌驗(yàn)證的邏輯 router.use('/check_token',checkToken.routes()) app.use(router.routes())  app.listen(8383,()=>{     console.log(`app listen at 8383`) })

剛才我們從應(yīng)用A跳轉(zhuǎn)到 http://localhost:8383/login?redirectUrl=localhost:8686來看login中的邏輯
Auth/routes/login.js

const service = require("../service"); const router=require("koa-router")()   router.get('/',async (ctx)=>{   const cookies=ctx.cookies;   const token=cookies.get('token');   //從cookie中判斷應(yīng)用A的登錄態(tài)   if(token && service.isTokenVailid(token)){     //。。。如果有登錄過   }else{     //2、SSO認(rèn)證中心發(fā)現(xiàn)用戶沒有登錄過,于是渲染登錄頁面登錄頁面;     await ctx.render('login.ejs',{         extension:'ejs'      })   } })  //。。。 module.exports=router

登錄頁面

Auth/views/login.ejs

<html> <head>     <meta charset="UTF-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>統(tǒng)一登錄</title> </head> <body>     <h1>統(tǒng)一登錄</h1>     <form method="post">        <div>用戶名: <input type="text" name="name"/></div>        <div>密碼  <input type="text" name="password" /></div>        <div><input type="submit" value='登錄'></div>     </form> </body> </html>

校驗(yàn)用戶信息,創(chuàng)建令牌

Auth/routes/login.js

router.post('/',async (ctx)=>{ //2、用戶填寫用戶名密碼提交登錄申請(qǐng);    const body=ctx.request.body;    const {name,password}=body;     //2、SSO認(rèn)證中心校驗(yàn)用戶信息,    if(name==="admin" && password==="123456"){     //2、創(chuàng)建用戶雨SSO認(rèn)證中心的會(huì)話(這時(shí)會(huì)把信息保存到cookie中),同時(shí)創(chuàng)建授權(quán)令牌token        const token="passport";        await ctx.cookies.set('token',token,{            maxAge:1000*60*60*24*30,            httpOnly:true        })        if(ctx.query.redirectUrl){        //3、sso認(rèn)證中心帶著令牌跳轉(zhuǎn)到最初的請(qǐng)求地址(應(yīng)用A)            ctx.redirect(`${ctx.protocol}://${ctx.query.redirectUrl}?token=${token}`)            //回跳地址是 http://localhost:8686/?token=passport        }else{            ctx.body="<h1>登錄成功!</h1>"        }    }else{        ctx.response.body={            error:1,            msg:'用戶名或密碼錯(cuò)誤'        }    } })

從認(rèn)證服務(wù)器攜帶令牌跳轉(zhuǎn)回應(yīng)用A

令牌校驗(yàn) 返回資源

應(yīng)用A

app.use(views(path.join(__dirname,'./views')),{     extension:'ejs'   })  //...  const system=process.env.SERVER_NAME router.get("/",async (ctx)=>{     let user=ctx.session.user     if(user){       //...     }     else     //這時(shí)應(yīng)用A依舊沒有登錄態(tài) 但url上有了令牌 http://localhost:8686/?token=passport    {       let token=ctx.query.token       if(!token)       {         //...跳轉(zhuǎn)去SSO登錄頁面       }       else        //跳回應(yīng)用A時(shí)走這里的邏輯       {         //ajax請(qǐng)求 4. 應(yīng)用A拿到令牌去SSO認(rèn)證中心認(rèn)證是否有效,如果返回有效注冊(cè)應(yīng)用A         const url=`://localhost:8383/check_token?token=${token}&t=${new Date().getTime()}`         let data = await koa2Req(ctx.protocol + url);         if(data && data.body){             try {                 const body=JSON.parse(data.body)                 const {error,userId}=body;                 // console.log(error,userId) 0,admin                 if(error==0){                     if(!userId){                         ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)                         return                     }                     //驗(yàn)證通過后注冊(cè)session,渲染頁面                     //5. 應(yīng)用A創(chuàng)建與用戶之間的會(huì)話,展示資源并維持用戶登錄態(tài)                     ctx.session.user=userId;                     await ctx.render('index.ejs',{                         user:userId,                         system                     })                 }else{                     ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)                 }             } catch (error) {console.log(error)}                       }       }     } }) app.use(router.routes())  const port=process.env.PORT||8888  app.listen(port,()=>{     console.log(`app ${system} running at ${port}`)  })

與之對(duì)應(yīng)的 SSO中處理驗(yàn)證令牌的邏輯
Auth/routes/check-token

const router=require("koa-router")() const service=require("../service")  router.get('/',async (ctx)=>{   const token=ctx.query.token;   const result={       error:1   }   //當(dāng)token 是 password時(shí)   if(service.isTokenVailid(token)){     result.error=0;     result.userId='admin'   }   ctx.body=result    })   module.exports=router

Auth/service/index.js

module.exports={     isTokenVailid: function(token){       if(token && token==='passport'){           return true       }       return false     } }

至此用戶已經(jīng)能正常訪問應(yīng)用A,SSO服務(wù)器和應(yīng)用A服務(wù)器上都有了用戶登錄過的信息。

訪問應(yīng)用B

帶cookie跳轉(zhuǎn)至SSO認(rèn)證服務(wù)器

應(yīng)用B

//...  router.get("/",async (ctx)=>{     let user=ctx.session.user     if(user){       //...     }else{       let token=ctx.query.token       //...       if(!token)       {       //同樣既沒有session也沒有令牌,跳轉(zhuǎn)到SSO認(rèn)證服務(wù)器       //6、當(dāng)用戶訪問應(yīng)用B時(shí),發(fā)現(xiàn)用戶未登錄(SSO認(rèn)證服務(wù)器與應(yīng)用A應(yīng)用B不是同一個(gè)域,不能提供登錄態(tài)),跳轉(zhuǎn)到SSO認(rèn)證中心,并將自己的地址和之前和SSO認(rèn)證中心會(huì)話的cookie信息帶入           ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)       }       else       {         //。。。驗(yàn)證令牌的部分       }     } }) app.use(router.routes())  const port=process.env.PORT||8888  app.listen(port,()=>{     console.log(`app ${system} running at ${port}`)  })

從認(rèn)證服務(wù)器攜帶令牌跳轉(zhuǎn)回應(yīng)用B

SSO認(rèn)證服務(wù)器 ,再次登錄時(shí)攜帶了cookie,因此不會(huì)再請(qǐng)求登錄頁面 Auth/routes/login

//... router.get('/',async (ctx)=>{   const cookies=ctx.cookies;   const token=cookies.get('token');   //7. SSO認(rèn)證中心發(fā)現(xiàn)用戶已登錄,跳轉(zhuǎn)回應(yīng)用B地址,并附上令牌token   if(token && service.isTokenVailid(token)){     const redirectUrl=ctx.query.redirectUrl;     if(redirectUrl){        //帶著令牌跳轉(zhuǎn)回應(yīng)用B         ctx.redirect(`${ctx.protocol}://${redirectUrl}?token=${token}`)     }else{         ctx.body="<h1>登錄成功!</h1>"     }   }else{     //...渲染登錄頁面   } }) //..

令牌校驗(yàn) 返回資源

這里的邏輯和5,6兩步一樣,因?yàn)閠oken容易偽造,所以要檢驗(yàn)真?zhèn)巍?應(yīng)用B

app.use(views(path.join(__dirname,'./views')),{     extension:'ejs'   })  //...  const system=process.env.SERVER_NAME router.get("/",async (ctx)=>{     let user=ctx.session.user     if(user){       //...     }     else     //這時(shí)應(yīng)用B依舊沒有登錄態(tài) 但url上有了令牌 http://localhost:8787/?token=passport    {       let token=ctx.query.token       if(!token)       {         //...跳轉(zhuǎn)去SSO登錄頁面       }       else        //跳回應(yīng)用B時(shí)走這里的邏輯       {         //ajax請(qǐng)求 8. 同樣的應(yīng)用B拿到令牌去SSO認(rèn)證中心認(rèn)證是否有效,如果返回有效注冊(cè)應(yīng)用B         const url=`://localhost:8383/check_token?token=${token}&t=${new Date().getTime()}`         let data = await koa2Req(ctx.protocol + url);         if(data && data.body){             try {                 const body=JSON.parse(data.body)                 const {error,userId}=body;                 // console.log(error,userId) 0,admin                 if(error==0){                     if(!userId){                         ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)                         return                     }                     //驗(yàn)證通過后注冊(cè)session,渲染頁面                     //9. 應(yīng)用B創(chuàng)建與用戶之間的會(huì)話,展示資源并維持用戶登錄態(tài)                     ctx.session.user=userId;                     await ctx.render('index.ejs',{                         user:userId,                         system                     })                 }else{                     ctx.redirect(`http://localhost:8383/login?redirectUrl=${ctx.host+ctx.originalUrl}`)                 }             } catch (error) {console.log(error)}                       }       }     } }) app.use(router.routes())  const port=process.env.PORT||8888  app.listen(port,()=>{     console.log(`app ${system} running at ${port}`)  })

至此單點(diǎn)登錄的大部分邏輯都已經(jīng)完成,之后再session有效期內(nèi)再訪問頁面,就不需要再登錄,直接返回資源

router.get("/",async (ctx)=>{ //如果session中有用戶信息,說明已經(jīng)登錄過,直接返回請(qǐng)求資源     let user=ctx.session.user     if(user){         await ctx.render('index.ejs',{               user,               system         })     }     //...  })

原文地址:https://juejin.cn/post/7088343138905325582

作者:YoYo君

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
主站蜘蛛池模板: 亚洲男女av | 亚洲一区二区三区在线看 | 欧美色频 | 人人射 | 国产精品视频自拍 | 日本xxxxxwwwww | 亚洲精品高清在线 | 一级做a爰片久久毛片16 | 亚洲九九九九 | 老外一级片 | 狠狠干2020 | 俄罗斯porn | 综合色视频| 五月婷婷综合激情 | 日韩精品一区二区三区国语自制 | 男人的网站在线观看 | 欧美色图在线视频 | 国产91免费在线观看 | 毛片传媒 | 国产精品v欧美精品v日韩精品 | 亚洲成av人片一区二区密柚 | 中文字幕网站免费观看 | 欧美精品一区二区在线观看 | 91精品国产一区 | 大伊人久久 | 在线国产中文字幕 | 激情亚洲视频 | 色吧av色av | www.haoav| aa黄色大片 | 以女性视角写的高h爽文 | 天天躁夜夜躁狠狠躁 | 国产特级aaaaaa大片 | 这里只有精品66 | 国产婷婷色一区二区三区在线 | 中文字幕在线播放一区二区 | 精品视频一区二区在线观看 | 成年人在线观看av | 麻豆精品在线播放 | 成人午夜激情 | 五月天激情综合 | 情涩快播 | 国产视频在线观看一区 | 日韩在线播放视频 | 天天摸夜夜爽 | 国产第一页第二页 | 丁香婷婷久久久综合精品国产 | 粉嫩av在线播放 | 黄色片视频免费在线观看 | 青青草婷婷 | www.插插 | 视频1区| 色香色香欲天天天影视综合网 | 好吊色av | 精品中文字幕在线播放 | 98超碰在线 | 99国产精品久久 | 色超碰 | 激情五月婷婷综合网 | 亚洲午夜毛片 | 黄色aaa | 日韩三级免费观看 | 国产精品久久久久免费 | 久久久久久久综合 | 亚洲爱v | 欧美日韩黄色 | 91精品免费| 国产村民一二三区 | 国产亚洲va天堂va777 | 日韩av一卡二卡 | 久久免费在线视频 | 黄色网址国产 | 中年夫妇大白天啪啪高潮不断 | 国产精选av | 日本爽爽爽 | 国模视频一区 | av我不卡 | 亚洲图区欧美 | 污污视频在线 | 国产成人免费观看视频 | 伊人av综合 | 亚洲午夜在线播放 | 绯色av一区二区三区在线观看 | 志在出位国语完整在线观看 | 中文字幕国产 | 亚洲在线免费观看 | 久久免费中文字幕 | 国产黄在线观看 | 91av官网| 国产精品xxxxx | 456亚洲视频| 国产一区精品在线观看 | 国产精品丝袜黑色高跟鞋的设计特点 | 日韩在线不卡视频 | 在线亚洲不卡 | 成人丁香婷婷 | 97se亚洲国产一区二区三区 | 在线观看黄色免费视频 | 激情91 | 亚洲欧美在线观看视频 | 欧美一级黄 | 亚洲色在线视频 | 国产成人久久久精品免费澳门 | 亚洲va久久久噜噜噜久久天堂 | 国产91精品看黄网站在线观看 | 国产农村av | 久久特黄 | 亚洲精品字幕在线观看 | 成年人在线视频观看 | 青青草视频在线观看免费 | 开心激情网五月天 | a中文字幕 | 最新99热 | h网站在线观看 | 中文字幕在线观看的网站 | 99riav久久精品riav | 天天干天天操天天舔 | 国产91精品久久久 | 尤物在线视频观看 | 亚洲 欧美 日韩在线 | 久久成人免费视频 | 欧美日韩在线视频播放 | 天堂网2014av | www.日韩在线 | 在线观看的av| 欧美亚洲在线 | 成人免费视频a | 欧洲成人一区二区三区 | 国产区91 | 夜夜草导航 | 少妇特黄一区二区三区 | 久久久久久久9999 | 天堂av2014 | 神马久久久久久 | 亚洲国产片 | 久久久久国产一区二区 | 国产精品成人免费视频 | 国产精品久久午夜夜伦鲁鲁 | 老司机亚洲精品 | 国产伦精品一区二区三区四区 | h网站在线播放 | 久久久久99精品 | 欧美日韩爱爱 | 久色影视 | 欧美黄色一级网站 | 强行侵犯视频在线观看 | 亚洲综合视频一区 | 91成人激情 | 亚洲精选久久 | 香蕉网在线 | 久久久啊啊啊 | 欧美专区在线观看 | 中文字幕在线视频免费观看 | www.猫咪av| 免费成人黄色片 | 久久精品国产三级 | 最新中文字幕2019 | 午夜av片 | 99久久久成人国产精品 | 少妇久久久久久 | 欧美人与禽zozzozzo | 爆操网站 | 44444kk在线观看三免费 | 毛片av在线观看 | 制服 丝袜 激情 欧洲 亚洲 | 亚洲国产综合av | 久久免费黄色网址 | 亚洲v国产v欧美v久久久久久 | 亚洲三区在线播放 | 亚洲成人aa | 国产成人精品一区二区三区免费 | 日韩国产综合 | 国产精品原创巨作av | 亚洲国产女人aaa毛片在线动漫 | 黑人干亚洲人 | 久久88| 欧美色图网站 | 日本三级中国三级99人妇网站 | 亚洲自拍中文字幕 | 日韩精品免费一区二区 | 超碰人人插 | 久久亚洲私人国产精品va | 天天夜夜草 | 亚洲色域网 | 亚洲欧美综合另类自拍 | 4438激情网| 亚洲毛片一区二区三区 | 五月天婷婷网站 | 亚洲欧美另类在线 | 国语对白av | 91丨九色丨蝌蚪丨丝袜 | 日韩欧美精品中文字幕 | 3d欧美精品动漫xxxx无尽 | 精品久久久免费视频 | 日本特黄特黄刺激大片 | 69pao| 4438全国成人免费 | 在线免费观看欧美大片 | 亚洲一区二区精品在线 | 中文字幕亚洲一区二区三区五十路 | 九九激情网| 色图综合| 大香伊人中文字幕精品 | 日日躁夜夜躁狠狠躁 | 亚洲婷婷一区 | 欧美视频免费在线 | 色网站在线观看 | 久久国产精品亚洲 | 丁香婷婷久久久综合精品国产 | 欧美大片一区 | 天天干天天干天天操 | 免费视频精品 | baoyu116永久免费视频 | 国产91调教 | 欧美色图88 | 尤物精品在线 | www视频在线观看网站 | 国产成年妇视频 | 操模特| 婷婷影音| 国内精品久久久 | 亚洲精品18 | 禁断介护av | 国产精品1页 | 色综合一区二区 | 日韩精品一区二区三区四区 | 欧美在线视频网站 | 鬼灭之刃柱训练篇在线观看 | 一区二区视频免费在线观看 | 理论片国产| 丁香激情五月 | 色撸撸在线| 成人免费视频观看 | 欧美毛片在线观看 | 五月婷婷激情视频 | 午夜婷婷网| 久久久精品福利 | 男女网站视频 | 超碰福利在线观看 | 九九精品99久久久香蕉 | 国产精品黄色av | 一级成人免费视频 | 一区二区播放 | 午夜老司机福利 | 国产小视频免费观看 | 婷婷中文在线 | 福利片在线看 | 操极品| 亚洲成人黄色在线 | av国产免费 | 国产成人免费av | 久久国产精品久久久 | 亚洲乱码一区二区三区三上悠亚 | 亚洲а∨天堂久久精品喷水 | 亚洲图片 激情小说 | 上原亚衣在线观看 | 免费av在线播放 | 射婷婷 | 91日韩视频| 裸体av淫导航 | 牛牛av在线 | 亚洲中字在线 | 五月天综合在线 | 福利小视频在线观看 | 操女人免费视频 | 成人网页在线观看 | 午夜在线视频 | 国产一级理论片 | www.99视频| 色噜噜日韩精品欧美一区二区 | 91国在线啪 | 久久久久国产一区二区 | 国产麻豆一精品一男同 | a国产在线 | 亚洲第一视频网 | 久久久最新地址 | 伊人色综合网 | 粉嫩av四季av绯色av | 久久精品国产99精品国产亚洲性色 | 欧美一级淫片 | 久久精品亚洲国产奇米99 | www三级免费 | 91精品国产综合久久香蕉922 | 动漫av在线免费观看 | www.日本精品 | 色婷婷精品国产一区二区三区 | 7799精品视频天天看 | 激情五月在线 | 东京av男人的天堂 | 免费国产精品视频 | 日韩射| 欧美一级片在线播放 | 国产成人一级片 | 成人激情文学 | 福利午夜视频 | 欧美乱大交xxxxx春色视频 | 99热欧美| 日本午夜精品 | 亚洲精品男同 | 欧美大片91| 好吊色欧美一区二区三区视频 | 可以看av的网址 | 精品日韩在线 | 亚洲一区中文字幕永久在线 | 在线免费观看av网址 | 黄色你懂的 | 欧美色999| 一区二区三区视频在线观看 | 日韩av自拍 | 1024精品一区二区三区日韩 | 女教师高潮黄又色视频 | 国产一区二区不卡 | 怡红院成人影院 | 欧美日韩成人在线视频 | 男人天堂免费视频 | 久草中文视频 | 国产小视频在线看 | 福利网站在线 | 久久久噜噜噜久久久白丝袜 | www国产成人免费观看视频,深夜成人网 | 国产福利在线观看 | 国产国拍精品亚洲 | 日韩一区二区在线观看视频 | 伊人97| 九九在线观看视频 | 成人欧美一区二区三区黑人免费 | 特级一级黄色片 | 欧美五月婷婷 | 亚洲天堂影院在线观看 | 六月丁香综合 | 久久久夜| 国产亚洲在线 | 黄色片在线看 | 先锋av资源网| 伦理片一区二区 | 污片免费在线观看 | 亚洲字幕网 | 亚洲一区精品视频 | 亚洲女在线 | 女教师高潮黄又色视频 | 日韩视频在线一区 | 快色网站 | 午夜黄色剧场 | 午夜在线观看视频网站 | 免费三级网站 | 国产美女无遮挡免费视频 | 成人毛片18女人毛片 | 色无极在线 | 天天摸天天干天天操 | 日日操夜夜操狠狠操 | 男女国产精品 | 国产婷婷在线视频 | 亚洲高清在线 | 99国产免费 | 日韩免费看片 | 中文字幕天堂 | 狠狠淫xxx | 亚洲精品色播 | 日韩欧美国产网站 | 特级毛片网站 | 国产又粗又猛又爽又 | 欧美在线观看一区 | 欧美日韩高清免费 | 国产a网| 亚洲一区精品在线观看 | 瑟瑟网站在线观看 | 亚洲国产欧洲 | 日韩精品系列 | 男女一级片 | 三级精品视频 | 北条麻妃一区二区三区 | 人人艹在线 | 99久久一区二区三区 | 国产在线视频卡一卡二 | 中文字幕在线网 | 二区三区在线观看 | 一本毛片| 黄色特级网站 | 国产一级影片 | 欧美一级淫片bbb一84 | 91av一区| 亚洲精品字幕在线观看 | 97久久精品 | 日本综合在线 | 日本免费观看视频 | 国产视频一二三区 | av黄色在线看 | 很黄的网站在线观看 | 欧美在线观看一区 | av中文字 | jlzzjlzz欧美大全 | 日韩精品伦理 | 日本黄色录像 | 精品国产乱码久久久久久影片 | 欧美偷拍视频 | 九色视频偷拍少妇的秘密 | 性色av免费| 白浆在线播放 | 性猛交xxxx| 自拍偷在线精品自拍偷无码专区 | 粉嫩av在线播放 | 亚洲永久精品国产 | 午夜偷拍视频 | 无码少妇一区二区三区 | 亚洲永久免费 | 亚洲精美视频 | 理论片高清免费理论片毛毛片 | 国产在线喷水 | 韩日av一区二区 | 波多野结衣日韩 | 手机在线一区二区 | 波多野结衣三级视频 | 在线视频中文字幕一区 | 欧美三级一区二区 | 久热只有精品 | 国产丝袜一区二区三区 | 干爹你真棒插曲免费 | 一色桃子juy699在线播放 | 欧美成人视屏 | av日韩网| 精品久久久久一区二区国产 | 久久久久九九九 | 久久久久久久亚洲精品 | 91精品国产综合久久久蜜臀 | 日本欧美久久久久免费播放网 | 国产寡妇xxxxxxxx性开放 | 欧美日韩激情一区二区 | 中文在线永久免费观看 | 黄色片国产在线观看 | 日韩aaaaa | 亚洲精品网站在线观看 | 五月天激情综合网 | 自拍色视频 | caoporn免费在线| 国产大片网站 | 毛片在线免费观看视频 | 亚洲欧美日本在线观看 | 午夜精品免费观看 | 亚洲视频一区在线 | 制服av网| 午夜精品av| 亚洲综合色自拍一区 | 亚洲高清中文字幕 | 性站 | 波多野结衣视频网站 | 国产不卡在线 | 久久精品久久国产 | 中文字幕一区二区三区四区视频 | 欧美日韩一区二区三区四区五区 | 金瓶风月在线 | 美日毛片 | 日韩午夜免费 | 亚洲一区二区三区欧美 | 亚洲高h | 亚洲男人天堂网站 | 亚洲欧美日韩中文在线 | 日韩在线网址 | 天堂网成人 | 91文字幕巨乱亚洲香蕉 | 亚洲综合色自拍一区 | 97精品国产aⅴ | 密臀av| 亚洲综合在线网 | 亚洲欧美综合网 | 国产极品一区二区 | 日韩视频区 | 男人懂的网站 | av调教| 免费看黄网站在线 | 白嫩白嫩国产精品 | 综合国产第二页 | 尤物网站在线观看 | 丰满少妇一区二区三区专区 | 中文字幕免费在线观看视频 | 亚洲男人影院 | 色多多在线视频 | 看特级黄色片 | 少妇一级淫片日本 | 精彩视频一区二区三区 | 在线色网 | 国产精品国产三级国产专业不 | 欧美在线中文 | 高潮毛片又色又爽免费 | 久久久久久久一 | 国产综合自拍 | 国产自产 | 色哟哟国产 | 91人人视频 | 国产不卡一二三 | 亚洲草草| 亚洲少妇综合网 | 人人澡人人添 | 91丨国产 | 欧美日韩亚洲国产另类 | 91美女在线| 欧美内谢 | 亚洲精品xxxxx | 97超在线 | www.男人天堂 | 久久国产影院 | 亚洲人人人 | 国产寡妇一级农村野外战 | 成人免费av网址 | 久久免费中文字幕 | 自拍伦理片 | 亚洲精品国产精品乱码视色 | 狠狠综合网 | 中文字幕在线第一页 | 亚洲一久久 | 欧美黄色网 | 狠狠操很很干 | 久久久久久国产精品免费免费 | 99久久国产视频 | 日韩精品影院 | 色综合社区| 国产精品久久久久久久岛一本蜜乳 | 天天爱av| 亚洲免费福利 | 天天躁日日躁狠狠躁免费麻豆 | 黄色大片免费网站 | 久久视频精品在线 | 国产激情毛片 | 亚洲欧美国产一区二区 | 国产精品12 | 曰批视频在线观看 | 亚洲精品美女久久久 | 九九热伊人 | 色呦呦影院| 狠狠夜夜 | 欧洲色av| 樱桃香蕉视频 | 国产青青在线 | 极品探花在线观看 | 天天干天天爽 | 精品偷拍网| 午夜亚洲精品 | 国产又粗又长又大 | 亚洲精选av | www日本免费 | 欧美日韩国产成人精品 | 一区二三国产好的精华液视频 | 久久久久中文字幕亚洲精品 | 欧美国产另类 | 日韩阿v | 超碰在线亚洲 | av片观看 | 久久3p| 久久综合社区 | 中文字幕在线观看第一页 | 精品一区91 | 黄色一毛片 | 色婷婷婷 | 久久av资源网| 色吧av | 欧美一区二区三区在线观看视频 | 色婷婷香蕉在线一区二区 | av合集 | 免费激情视频网站 | 操女人免费视频 | 日本黄色三级网站 | 成年人久久| 久久网av| 97人人爱 | 日日射射| 日韩手机视频 | 羞羞色院91精品网站 | 国产chinesehd天美传媒 | 九七超碰在线 | 日韩一区三区 | 国产女人视频 | 四虎伊人| 天堂网在线中文 | 天天草夜夜草 | 天天爽夜夜爽夜夜爽 | 热99 | av的天堂| 中日韩免费视频 | 台湾久久| 欧美在线免费观看 | 91国内在线视频 | 亚洲欧美网 | 亚洲黄色成人 | 人人澡人人射 | 亚洲深夜在线 | 国产专区av | 久久久综合久久 | 天天插视频| 国产又黄又粗又猛又爽 | 国产精品一区二区视频 | 欧美成人免费在线视频 | 99在线观看免费 | 久久久高潮 | 日本精品久久久 | 亚洲视频2| 美女综合网 | 久久久久久91亚洲精品中文字幕 | 亚洲最大在线观看 | 天天操天天操天天操 | h狠狠躁死你h高h | 黄色aaaa| 黑人干亚洲女人 | 久久国产精品久久 | av丁香| 黄色免费观看网站 | 影音先锋男人的天堂 | 国产免费一区二区三区四区五区 | xxxx野外性xxxx黑人 | 黑人操日本 | 免费人成网 | 欧美黄色一区二区 | 一 级做人爱全视频在线看 91亚洲人人在字幕国产 | 亚洲综合一 | 在线免费你懂的 | 天天综合久久 | 男女黄网站 | 欧美偷拍另类 | 亚洲欧美自偷自拍 | 免费一级欧美 | 亚洲精选中文字幕 | 成人动漫中文字幕 | 亚洲 丝袜 自拍 清纯 另类 | 国产精品国产馆在线真实露脸 | 在线观看中文字幕网站 | 狠狠干2021 | 国产精品久久人人做人人爽 | 免费黄色高清视频 | 伊人中文字幕在线观看 | 国产精品刘玥久久一区 | 国产精品入口66mio | 中文欧美日韩 | 男女男精品网站 | 国产精品久久 | 综合久久一区 | 国产黄色大片网站 | 精品久久久久久亚洲综合网站 | 秋霞欧美在线观看 | 天堂av√| 欧美日韩精品在线 | 中文字幕色片 | 好邻居韩国剧在线观看 | www.国产com | 草久久久| 国产色婷婷精品综合在线播放 | 亚洲精品无人区 | 一级欧美黄色片 | 噜噜狠狠狠狠综合久久 | 国产综合视频在线观看 | 欧美黑人巨大xxx极品 | 国产女性无套 | 天天综合网天天综合 | 老汉色av | 自拍偷拍国产 | 国产伦精品一区二区三区在线观看 | 欧美专区在线播放 | 懂色av懂色av粉嫩av分享吧 | 色多多视频在线观看 | 日韩经典一区二区 | 国产女主播喷水高潮网红在线 | 青青草在线免费观看 | 狠狠天天 | 免费黄色网址大全 | 不用播放器的av网站 | 九九在线精品视频 | 九九热在线精品 | 欧美一区二区三区在线观看 | 久久精久久 | 国产情侣一区 | www国产亚洲精品 | 鬼灭之刃柱训练篇在线观看 | 少妇精品一区二区三区 | 亚洲国产精品一区二区尤物区 | youjizz韩国| 波多野结衣在线一区二区 | 91久 | 成人做爰66片免费看网站 | 久色在线 | 亚洲欧美国产毛片在线 | 午夜久久久久久久 | 免费看日韩 | 国产精品传媒一区二区 | 九九国产精品视频 | 久久r精品 | 国产成人一区二区啪在线观看 | 懂色av蜜臀av粉嫩av喷吹 | 国产精品毛片一区二区三区 | 99精品久久 | 日韩av一区二区在线 | 91免费观看视频在线 | 日本美女久久 | 人妖av在线| 久久精品免费 | 午夜污污 | 久久久久国产精品一区 | 粗大挺进潘金莲身体在线播放 | 亚洲另类激情综合偷自拍图 | 黄色一区二区三区四区 | 97久久人国产精品婷婷 | 草久在线观看 | 亚洲精品a级 | 国产三级韩国三级日本带黄 | www.射 | 色网站在线 | 日本少妇喂奶 | 自拍偷拍色综合 | 色哟哟国产 | 一a一片一级一片啪啪 | 国产福利一区二区三区 | 免费在线 | 一本色道av | 婷婷伊人综合中文字幕 | 久久精品视频网站 | 国产草草视频 | 午夜视频在线观看一区二区 | 伊甸园精品区 | 日韩欧美亚洲一区二区 | 波多野结衣1区 | 涩涩天堂 | 欧美日韩国产在线 | 超碰日韩在线 | 国产在线高清视频 | 综合久久久久综合 | 欧美性猛交ⅹ乱大交3 | 亚洲视频在线一区二区 | 日韩无马 | 日本成人免费网站 | 久久精品69 | 99精品视频在线免费观看 | 国产亚洲精品久久久 | av 一区二区三区 | 日韩激情毛片 | 国产经典一区二区 | 美国特色黄a大片 | 国产一区二区在线播放视频 | 伊人9999| 国产思思99re99在线观看 | www.我要操 | 免费在线视频观看 | 成年人av在线播放 | 9色av| 亚洲黄色在线网站 | 男女高h视频 | 亚洲xx在线| 黄色片免费播放 | 99热99热| 97久久免费视频 | 亚洲视频中文字幕在线观看 | 青青草原在线免费观看视频 | 亚洲免费av片 | 日日躁狠狠躁 | 爱草在线 | 在线精品一区二区 | 男女又爽又黄 | 免费黄色大片网站 | 精品中文字幕一区 | 日本激情网 | 久久久1 | 四虎网站最新网址 | 亚洲国产福利视频 | 日本一本高清视频 | 97麻豆视频 | 天天添 | www.中文字幕.com | 五月天色小说 | 欧美色亚洲色 | 色一情一交一乱一区二区三区 | 一级片视频在线 | 最新国产在线 | 西方av在线 | 激情久久婷婷 | 日韩成人精品视频 | 夜鲁鲁鲁夜夜综合视频欧美 | 九九九亚洲 | 国产第一毛片 | jyzz中国jizz十八岁免费 | 一级淫片aaaaaaaahd | 久久99激情 | 日韩在线播放中文字幕 | 日本黄色一级 | 尤物在线 | 91精品视频免费在线观看 | 九九色视频| 国产热视频| 这里只有精品视频 | 激情五月色婷婷 | 大学生三级中国dvd 国产精品自产拍 | 中文字幕一区二区三区精华液 | 青青精品 | 黄色av观看| 日韩精品中文字幕在线 | 日本内谢少妇xxxxx少交 | 欧美精品国产 | 美日韩在线视频 | 99国产在线视频 | 99热免费在线 | 久久久精品国产sm调教网站 | 丁香五香天堂网 | 国产婷婷色一区二区三区在线 | 色中色综合 | 九九久久久| 国产精品一区二区免费 | 免费的黄色的视频 | 欧美一区2区 | 天堂网视频在线 | 天堂色综合 | 精品久久久亚洲 | 五月婷婷,六月丁香 | 中文字幕_第2页_高清免费在线 | 免费在线性爱视频 | 亚洲精品午夜久久久久久久 | 国产视频欧美视频 | 亚洲国产毛片 | 91成人亚洲| 亚洲va欧美 | av狠狠| 国产精品刘玥久久一区 | 久草视频在线播放 | 免费国产精品视频 | 福利精品视频 | www.av日韩 | 精品免费在线观看 | 欧美色悠悠 | 在线成人播放 | 成人免费观看在线视频 | 成年人黄色av| 亚洲免费视频网 | 国产福利资源在线 | 色哟哟网站入口 | 午夜精品久久久久久久第一页按摩 | 成人精品免费在线观看 | 国产欧美一区二区精品性色超碰 | 日韩一级片网址 | 精品乱码一区二区 | 日韩射| 啪啪啪毛片 | 992av| 国产伦子伦对白在线播放观看 | 久久天| 九九九九九九精品任你躁 | 欧美亚洲网站 | 免费av免费看 | 日韩av免费在线观看 | 日韩二区在线 | 2018自拍偷拍| www.欧美国产 | 天天夜夜骑| 国产精品天美传媒沈樵 | 九九九国产| 国外成人免费视频 | 国产精品九一 | 国产欧美日韩中文字幕 | 香蕉污视频在线观看 | 亚洲高清在线观看 | 毛片毛多水多 | 欧美性猛交99久久久久99按摩 | 亚洲精品久久久久久一区二区 | 国产精品嫩草影院精东 | 丁香婷婷网 | 麻豆蜜桃视频 | 国产高潮失禁喷水爽到抽搐 | 国产成人午夜精品 | 亚洲第一免费 | 国产一区二区三区中文字幕 | 欧美成人精品一区二区 | 中文字幕成人网 | 7777kkkk成人观看 | 伊人网伊人网 | 日韩一区二区三区在线 | 男人综合网 | 人人爱人人艹 | 在线国产日韩 | 日本在线观看中文字幕 | 毛片网站入口 | 伊人av一区 | 二区三区在线视频 | 天堂网在线视频 | 欧美日韩在线免费视频 | 国产女人精品 | 伊人久久大香线蕉综合啪小说 | 国产黄色网络 | 亚洲国产综合av | 亚洲视频免费看 | 久久久99精品免费观看 | 中文字幕天堂 | 任你操精品 | 亚洲最大黄网 | 蜜桃视频污在线观看 | 国产一区二区在线视频观看 | 九九色视频 | 在线色国产 | 欧美日韩片 | 波多野结衣一区在线 | 久久亚洲精品国产 | 成人片免费视频 | 欧美成人中文字幕 | 四虎永久免费影院 | 久久久天堂国产精品女人 | 爱的天堂 | 国产不卡a | 亚洲综合一区二区三区 | 午夜精品国产 | 日本久久综合网 | 亚洲成人h | 成人做爰www看视频软件 | 91在线视频一区 | 国产91免费在线观看 | 婷婷午夜激情 | 欧美日本在线观看 | 亚洲欧美一区二区三区在线 | 伊人精品影院 | 日韩中文字幕有码 | 黑人操欧美人 | 善良的女邻居在线观看 | 99在线小视频 | 免费大片黄在线观看视频网站 | 影音先锋成人网 | 国产又粗又猛又爽又黄视频 | 精品www久久久久久奶水 | 黄色av网址在线 | 国产精品suv一区二区三区 | 亚洲国产精品成人综合色在线婷婷 | 国产又猛又粗 | 91夫妻视频 | 在线国产精品观看 | 日韩欧美一本 | 亚洲精品成a人在线 | 在线观看免费福利 | www.色人阁 | 秋霞网av| 国产精选久久久 | 男女啊啊啊视频 | 九九一级片 | 黑白配高清国语在线观看 | 99热热99| 人人插人人插 | 日本少妇网站 | 亚洲女同志亚洲女同女播放 | 日韩精品五区 | 亚洲狠狠婷婷综合久久久久图片 | 日日噜噜噜噜人人爽亚洲精品 | 国产无遮挡又黄又爽又色 | 亚洲宅男av | 黄色正能量网站 | 欧美激情五月 | 亚洲一级黄色片 | 欧美性在线观看 | 亚洲图片 激情小说 | 秋霞成人午夜鲁丝一区二区三区 | 日韩亚洲一区二区三区 | 国产成人免费视频 | 一级特黄aaa大片在线观看 | 四级毛片| 国产偷久久一级精品 | 成人av中文字幕 | 91综合久久 | 又色又爽又黄无遮挡的免费视频 | 自拍偷拍在线视频 | 精品中出 | 国产精品视频在线免费观看 | 综合色av | 娇小6一8小毛片 | 日韩成人欧美 | 欧美,日韩,国产精品免费观看 | 在线观看视频色 | 日韩福利一区二区 | wwwwww色| 亚洲国产一区视频 | 日韩欧美精品在线 | 久久久久久一 | 一个色av| 少妇又色又紧又黄又刺激免费 | 国产99色| 波多野结衣电车痴汉 | 亚洲v天堂 | 黄片毛片在线看 | 国产99久久久久 | 一区二区三区欧美在线观看 | 色屁屁影院www国产高清麻豆 | 国产一区二 | 五月天综合激情网 | 久久久久久久久嫩草精品乱码 | 伊人资源网 | 黄色免费视频观看 | 黄色三级三级三级 | 中文字幕人乱码中文 | 亚洲天堂免费在线 | 久久九色| 亚洲精品久久久久久国产精华液 | 午夜精品一区二区三区在线播放 | 欧美粗又大| 国产福利一区二区三区 | 一级不卡毛片 | 天堂bt在线| 丰满少妇中文字幕 | 色一情一乱一乱一区91av | 国产精选视频 | 日日干夜夜草 | 国产精品v| 亚洲第八页| 色丁香婷婷|