日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Identity Server 4建立Authorization Server (4)

發(fā)布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Identity Server 4建立Authorization Server (4) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

預(yù)備知識:?http://www.cnblogs.com/cgzl/p/7746496.html

第一部分:?http://www.cnblogs.com/cgzl/p/7780559.html

第二部分:?http://www.cnblogs.com/cgzl/p/7788636.html

第三部分:?http://www.cnblogs.com/cgzl/p/7793241.html

上一篇講了使用OpenId Connect進(jìn)行Authentication.

下面講

Hybrid Flow和Offline Access

目前我們解決方案里面有三個項目 Authorization Server, Web api和Mvc Client. 在現(xiàn)實世界中, 他們可能都在不同的地方.

現(xiàn)在讓我們從MvcClient使用從Authorization Server獲取的token來訪問web api. 并且確保這個token不過期.

現(xiàn)在我們的mvcClient使用的是implicit flow, 也就是說, token 被發(fā)送到client. 這種情況下 token的生命可能很短, 但是我們可以重定向到authorization server 重新獲取新的token.

例如, 在SPA(Single Page Application)中, implicit flow基本上就是除了resource owner password flow 以外唯一合適的flow, 但是我們的網(wǎng)站可能會在client(SPA client/或者指用戶)沒使用網(wǎng)站的時候訪問api, 為了這樣做, 不但要保證token不過期, 我們還需要使用別的flow. 我們要介紹一下authorization code flow. 它和implicit flow 很像, 不同的是, 在重定向回到網(wǎng)站的時候獲取的不是access token, 而是從authorization server獲取了一個code, 使用它網(wǎng)站可以交換一個secret, 使用這個secret可以獲取access token和refresh tokens.

Hybrid Flow, 是兩種的混合, 首先identity token通過瀏覽器傳過來了, 然后客戶端可以在進(jìn)行任何工作之前對其驗證, 如果驗證成功, 客戶端就會再打開一個通道向Authorization Server請求獲取access token.

首先在Authorization server的InMemoryConfiguration添加一個Client:

new Client{ClientId = "mvc_code",ClientName = "MVC Code Client",AllowedGrantTypes = GrantTypes.HybridAndClientCredentials,ClientSecrets ={new Secret("secret".Sha256())},RedirectUris = { "http://localhost:5002/signin-oidc" },PostLogoutRedirectUris = { "http://localhost:5002/signout-callback-oidc" },AllowedScopes = new List<string>{IdentityServerConstants.StandardScopes.OpenId,IdentityServerConstants.StandardScopes.Profile,IdentityServerConstants.StandardScopes.Email,"socialnetwork"},AllowOfflineAccess = true,AllowAccessTokensViaBrowser = true}

?

首先肯定要修改一下ClientId.

GrantType要改成Hybrid或者HybrdAndClientCredentials, 如果只使用Code Flow的話不行, 因為我們的網(wǎng)站使用Authorization Server來進(jìn)行Authentication, 我們想獲取Access token以便被授權(quán)來訪問api. 所以這里用HybridFlow.

還需要添加一個新的Email scope, 因為我想改變api來允許我基于email來創(chuàng)建用戶的數(shù)據(jù), 因為authorization server 和 web api是分開的, 所以用戶的數(shù)據(jù)庫也是分開的. Api使用用戶名(email)來查詢數(shù)據(jù)庫中的數(shù)據(jù).

AllowOfflineAccess. 我們還需要獲取Refresh Token, 這就要求我們的網(wǎng)站必須可以"離線"工作, 這里離線是指用戶和網(wǎng)站之間斷開了, 并不是指網(wǎng)站離線了.

這就是說網(wǎng)站可以使用token來和api進(jìn)行交互, 而不需要用戶登陸到網(wǎng)站上.?

修改MvcClient的Startup的ConfigureServices:

public void ConfigureServices(IServiceCollection services){services.AddMvc();JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();services.AddAuthentication(options =>{options.DefaultScheme = "Cookies";options.DefaultChallengeScheme = "oidc";}).AddCookie("Cookies").AddOpenIdConnect("oidc", options =>{options.SignInScheme = "Cookies";options.Authority = "http://localhost:5000";options.RequireHttpsMetadata = false;options.ClientId = "mvc_code";options.ClientSecret = "secret";options.ResponseType = "id_token code";options.Scope.Add("socialnetwork");options.Scope.Add("offline_access");options.SaveTokens = true;options.GetClaimsFromUserInfoEndpoint = true;});}

首先改ClientId和Authorization server一致. 這樣用戶訪問的時候和implicit差不多, 只不過重定向回來的時候, 獲取了一個code, 使用這個code可以換取secret然后獲取access token.

所以需要在網(wǎng)站(MvcClient)上指定Client Secret. 這個不要泄露出去.

還需要改變reponse type, 不需要再獲取access token了, 而是code, 這意味著使用的是Authorization Code flow.

還需要指定請求訪問的scopes: 包括 socialnetwork api和離線訪問

最后還可以告訴它從UserInfo節(jié)點獲取用戶的Claims.

運行

點擊About, 重定向到Authorization Server:

同時在Authorization Server的控制臺可以看見如下信息:

這里可以看到請求訪問的scope, response_type. 還告訴我們respose mode是from_post, 這就是說, 在這登陸后重定向回到網(wǎng)站是使用的form post方式.

然后登陸:

這里可以看到請求訪問的范圍, 包括個人信息和Application Access.

點擊Yes, Allow:

重定向回到了網(wǎng)站. 這里看起來好像和以前一樣. 但是如果看一下Authorization Server的控制臺:

就會看到一個request. 中間件發(fā)起了一個請求使用Authorization Code和ClientId和secret來換取了Access token.

當(dāng)Authorization驗證上述信息后, 它就會創(chuàng)建一個token.

打印Refresh Token

修改MvcClient的About.cshtml:

@using Microsoft.AspNetCore.Authentication <div><strong>id_token</strong><span>@await ViewContext.HttpContext.GetTokenAsync("id_token")</span> </div> <div><strong>access_token</strong><span>@await ViewContext.HttpContext.GetTokenAsync("access_token")</span> </div> <div><strong>refresh_token</strong><span>@await ViewContext.HttpContext.GetTokenAsync("refresh_token")</span> </div> <dl>@foreach (var claim in User.Claims){<dt>@claim.Type</dt><dd>@claim.Value</dd>} </dl>

刷新頁面:

看到了refresh token.

這些token包含了什么時候過期的信息.

如果access token過期了, 就無法訪問api了. 所以需要確保access token不過期. 這就需要使用refresh token了.

復(fù)制一下refresh token, 然后使用postman:

使用這個refresh token可以獲取到新的access token和refresh_token, 當(dāng)這個access_token過期的時候, 可以使用refresh_token再獲取一個access_token和refresh_token......

而如果使用同一個refresh token兩次, 就會得到下面的結(jié)果:

看看Authorization Server的控制臺, 顯示是一個invalid refresh token:

所以說, refresh token是一次性的.

獲取自定義Claims

web api 要求request請求提供access token, 以證明請求的用戶是已經(jīng)授權(quán)的. 現(xiàn)在我們準(zhǔn)備從Access token里面提取一些自定義的Claims, 例如Email.

看看Authorization Server的Client配置:

Client的AllowedScopes已經(jīng)包括了Email. 但是還沒有配置Authorization Server允許這個Scope. 所以需要修改GetIdentityResources()(我自己的代碼可能改名成IdentityResources()了):

public static IEnumerable<IdentityResource> IdentityResources(){return new List<IdentityResource>{new IdentityResources.OpenId(),new IdentityResources.Profile(),new IdentityResources.Email()};}

然后需要為TestUser添加一個自定義的Claims;

public static IEnumerable<TestUser> Users(){return new[]{new TestUser{SubjectId = "1",Username = "mail@qq.com",Password = "password",Claims = new [] { new Claim("email", "mail@qq.com") }}};}

然后需要對MvcClient進(jìn)行設(shè)置, Startup的ConfigureServices:

public void ConfigureServices(IServiceCollection services){services.AddMvc();JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();services.AddAuthentication(options =>{options.DefaultScheme = "Cookies";options.DefaultChallengeScheme = "oidc";}).AddCookie("Cookies").AddOpenIdConnect("oidc", options =>{options.SignInScheme = "Cookies";options.Authority = "http://localhost:5000";options.RequireHttpsMetadata = false;options.ClientId = "mvc_code";options.ClientSecret = "secret";options.ResponseType = "id_token code";options.Scope.Add("socialnetwork");options.Scope.Add("offline_access");options.Scope.Add("email");options.SaveTokens = true;options.GetClaimsFromUserInfoEndpoint = true;});}

添加email scope. 所以MvcClient就會也請求這個scope.

運行:

這時在同意(consent)頁面就會出現(xiàn)email address一欄.

同意之后, 可以看到email已經(jīng)獲取到了.

使用Access Token調(diào)用Web Api

首先在web api項目建立一個IdentityController:

namespace WebApi.Controllers {[Route("api/[controller]")]public class IdentityController: Controller{[Authorize][HttpGet]public IActionResult Get(){var username = User.Claims.First(x => x.Type == "email").Value;return Ok(username);//return new JsonResult(from c in User.Claims select new { c.Type, c.Value}); }} }

我們想要通過自定義的claim: email的值.

然后回到mvcClient的HomeController, 添加一個方法:

[Authorize]public async Task<IActionResult> GetIdentity(){var token = await HttpContext.GetTokenAsync("access_token");using (var client = new HttpClient()){client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);var content = await client.GetStringAsync("http://localhost:5001/api/identity");// var json = JArray.Parse(content).ToString();return Ok(new { value = content });}}

這里首先通過HttpContext獲得access token, 然后在請求的Authorization Header加上Bearer Token.

讓我們運行一下, 并在MvcClient和Web Api里面都設(shè)好斷點,

登錄后在瀏覽器輸入?http://localhost:5002/Home/GetIdentity 以執(zhí)行GetIdenttiy方法, 然后進(jìn)入Web Api看看斷點調(diào)試情況:

由于我們已經(jīng)授權(quán)了, 所以可以看到User的一些claims, 而其中沒有email這個claim. 再運行就報錯了.

這是怎么回事? 我們回到About頁面, 復(fù)制一下access_token, 去jwt.io分析一下:

確實沒有email的值, 所以提取不出來.

所以我們需要把email添加到access token的數(shù)據(jù)里面, 這就需要告訴Authorization Server的Api Resource里面要包括User的Scope, 因為這是Identity Scope, 我們想要把它添加到access token里:

修改Authorization Server的InMemoryConfiguration的ApiResources():

public static IEnumerable<ApiResource> ApiResources(){return new[]{new ApiResource("socialnetwork", "社交網(wǎng)絡(luò)"){UserClaims = new [] { "email" }}};}

這對這個Api Resouce設(shè)置它的屬性UserClaims, 里面寫上email.

然后再運行一下程序, 這里需要重新登陸, 首先分析一下token:

有email了.?

然后執(zhí)行GetIdentity(), 在web api斷點調(diào)試, 可以看到UserClaims已經(jīng)包含了email:

上面這些如果您不會的話, 需要整理總結(jié)一下.

用戶使用Authorization Server去登錄網(wǎng)站(MvcClient), 也就是說用戶從網(wǎng)站跳轉(zhuǎn)到第三方的系統(tǒng)完成了身份的驗證, 然后被授權(quán)可以訪問web api了(這里講的是用戶通過mvcClient訪問api). 當(dāng)訪問web api的時候, 首先和authorization server溝通確認(rèn)access token的正確性, 然后就可以成功的訪問api了.

刷新Access Token

根據(jù)配置不同, token的有效期可能差別很大, 如果token過期了, 那么發(fā)送請求之后就會返回401 UnAuthorized.

當(dāng)然如果token過期了, 你可以讓用戶重定向到Authorization Server重新登陸,再回來操作, 不過這樣太不友好, 太繁瑣了.

既然我們有refresh token了, 那不如向authorization server請求一個新的access token和refresh token. 然后再把這些更新到cookie里面. 所以下次再調(diào)用api的時候使用的是新的token.

在MvcClient的HomeController添加RefreshTokens()方法:

首先需要安裝IdentityModel, 它是OpenIdConnect, OAuth2.0的客戶端庫:

[Authorize]public async Task RefreshTokensAsync(){var authorizationServerInfo = await DiscoveryClient.GetAsync("http://localhost:5000/");var client = new TokenClient(authorizationServerInfo.TokenEndpoint, "mvc_code", "secret");var refreshToken = await HttpContext.GetTokenAsync("refresh_token");var response = await client.RequestRefreshTokenAsync(refreshToken);var identityToken = await HttpContext.GetTokenAsync("identity_token");var expiresAt = DateTime.UtcNow + TimeSpan.FromSeconds(response.ExpiresIn);var tokens = new[]{new AuthenticationToken{Name = OpenIdConnectParameterNames.IdToken,Value = identityToken},new AuthenticationToken{Name = OpenIdConnectParameterNames.AccessToken,Value = response.AccessToken},new AuthenticationToken{Name = OpenIdConnectParameterNames.RefreshToken,Value = response.RefreshToken},new AuthenticationToken{Name = "expires_at",Value = expiresAt.ToString("o", CultureInfo.InvariantCulture)}};var authenticationInfo = await HttpContext.AuthenticateAsync("Cookies");authenticationInfo.Properties.StoreTokens(tokens);await HttpContext.SignInAsync("Cookies", authenticationInfo.Principal, authenticationInfo.Properties);}

首先使用一個叫做discovery client的東西來獲取Authorization Server的信息. Authorization Server里面有一個discovery節(jié)點(endpoint), 可以通過這個地址查看:?/.well-known/openid-configuration. 從這里可以獲得很多信息, 例如: authorization節(jié)點, token節(jié)點, 發(fā)布者, key, scopes等等.

然后使用TokenClient, 參數(shù)有token節(jié)點, clientId和secret. 然后可以使用這個client和refreshtoken來請求新的access token等.?

找到refresh token后, 使用client獲取新的tokens, 返回結(jié)果是tokenresponse. 你可以設(shè)斷點查看一下token reponse里面都有什么東西, 這里就不弄了, 里面包括identitytoken, accesstoken, refreshtoken等等.

然后需要找到原來的identity token, 因為它相當(dāng)于是cookie中存儲的主鍵...

然后設(shè)置一下過期時間.

然后將老的identity token和新獲取到的其它tokens以及過期時間, 組成一個集合.

然后使用這些tokens來重新登陸用戶. 不過首先要獲取當(dāng)前用戶的authentication信息, 使用HttpContext.AuthenticateAsync("Cookies"), 參數(shù)是AuthenticationScheme.?然后修改屬性, 存儲新的tokens.

最后就是重登錄, 把當(dāng)前用戶信息的Principal和Properties傳進(jìn)去. 這就會更新客戶端的Cookies, 用戶也就保持登陸并且刷新了tokens.

先簡單調(diào)用一下這個方法:

[Authorize]public async Task<IActionResult> GetIdentity(){await RefreshTokensAsync();var token = await HttpContext.GetTokenAsync("access_token");using (var client = new HttpClient()){client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);var content = await client.GetStringAsync("http://localhost:5001/api/identity");//var json = JArray.Parse(content).ToString();return Ok(new { value = content });}}

正式生產(chǎn)環(huán)境中可不要這么做, 正式環(huán)境中應(yīng)該在401之后, 調(diào)用這個方法, 如果再失敗, 再返回錯誤.

運行一下:

發(fā)現(xiàn)獲取的access token是空的, 一定是哪出現(xiàn)了問題, 看一下 authorization server的控制臺:

說refresh token不正確(應(yīng)該是內(nèi)存數(shù)據(jù)和cookie數(shù)據(jù)不匹配). 那就重新登陸.

看斷點, 有token了:

并且和About頁面顯示的不一樣, 說明刷新token了.

也可以看一下authorization server的控制臺:

說明成功請求了token.

今天先到這里.

轉(zhuǎn)載于:https://www.cnblogs.com/cgzl/p/7795121.html

總結(jié)

以上是生活随笔為你收集整理的使用Identity Server 4建立Authorization Server (4)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

亚洲第五色综合网 | 丁香婷婷亚洲 | 欧美激情精品久久 | 91成品视频 | 激情丁香 | 中文字幕在线观看视频一区二区三区 | 国产99在线播放 | 成人精品一区二区三区中文字幕 | 91av电影在线观看 | 91在线日韩 | 国产高清视频在线播放一区 | a在线免费| 99久久久久久久久久 | 999国产精品视频 | 中文字幕在线观看2018 | 狠日日| 97人人模人人爽人人喊中文字 | 狠狠干狠狠插 | 国产精品原创在线 | 国产丝袜在线 | 91麻豆.com| 深夜免费福利网站 | 亚洲乱码精品久久久 | 日韩视频免费播放 | 午夜狠狠干| 四虎影视国产精品免费久久 | 黄色一集片| 国内久久精品 | 麻豆视频免费观看 | 欧美久久影院 | 中文字幕人成人 | 日韩videos | 中文字幕观看在线 | 国产黄色片免费在线观看 | 成人资源网 | 9色在线视频 | 午夜精品一区二区三区在线视频 | 亚洲另类视频在线 | 高清av免费一区中文字幕 | 麻豆极品 | 日本在线观看一区二区 | 97影视| 中文国产成人精品久久一 | 日韩啪视频 | 精品久久久久久久久亚洲 | 天天操夜夜爱 | 国产大尺度视频 | 国产中的精品av小宝探花 | 免费福利视频网站 | 国产成人在线观看 | 色999视频 | 日韩免费在线播放 | 国产精品一区二区免费看 | 天天干天天草天天爽 | 在线观看av不卡 | 精品国产一区二区久久 | 精品视频亚洲 | 最新中文在线视频 | 成人福利在线播放 | www黄| 正在播放国产一区二区 | 四虎国产精品免费观看视频优播 | 久久一区国产 | 香蕉网在线 | 亚洲情感电影大片 | 69视频永久免费观看 | 成人免费视频网 | 日日夜夜婷婷 | 手机在线中文字幕 | 久久精品国产精品亚洲精品 | 综合伊人av | 操少妇视频| 国产91aaa| 久久久69 | 丁香婷婷久久久综合精品国产 | 亚洲精品女人久久久 | 大型av综合网站 | 夜夜高潮夜夜爽国产伦精品 | 色多视频在线观看 | 国产精品精品久久久久久 | 婷婷综合电影 | 成人aⅴ视频 | 欧美日韩首页 | 欧美国产高清 | 夜夜躁狠狠躁 | 精品一区精品二区 | va视频在线| 97香蕉久久超级碰碰高清版 | 国产色女人 | 视频国产精品 | 毛片美女网站 | 91亚洲精品久久久蜜桃 | 久久精品人 | 久久色中文字幕 | 久久电影中文字幕视频 | 福利视频入口 | 久久成人麻豆午夜电影 | 狠狠操精品 | 国内外成人在线视频 | 二区精品视频 | 美女免费视频观看网站 | 亚洲综合欧美精品电影 | 欧美性性网 | 欧洲色吧 | 亚洲五月婷婷 | 亚洲免费一级电影 | 91精品免费在线 | 亚洲天堂视频在线 | 国产精品久久久久久久久久久久久 | 欧美一级片免费播放 | www.xxxx变态.com | 亚洲天堂网站 | 亚洲一区 av | 国产一区影院 | 黄色大全在线观看 | 成人av资源在线 | 97国产在线视频 | 人人澡人人干 | 亚洲在线精品 | 亚洲视频999 | 久久久久久久久久免费视频 | 一区二区三区精品在线视频 | 国产999| 免费av网址大全 | 亚洲午夜精品电影 | 欧美经典久久 | 成人精品99 | 欧美日韩午夜爽爽 | 伊人超碰在线 | 99精品国自产在线 | 久久理伦片 | 人人精久 | 国产精品va最新国产精品视频 | 四虎在线永久免费观看 | 91精品国产欧美一区二区 | 国产黄大片在线观看 | 婷婷伊人综合亚洲综合网 | 久久久久国产一区二区三区四区 | 久久在线精品视频 | 2021国产在线视频 | 免费美女av | 欧美另类xxx| 日韩综合一区二区三区 | 人人草人人草 | www.伊人网| 97在线观看免费观看高清 | 国产视频久久久 | 国产午夜精品一区二区三区在线观看 | 成年美女黄网站色大片免费看 | 日本激情动作片免费看 | 性色大片在线观看 | 亚洲aⅴ在线 | 三级av在线免费观看 | 亚洲综合欧美日韩狠狠色 | 国产精品一区二区三区观看 | 制服丝袜一区二区 | 久9在线| 在线成人欧美 | 日韩欧美视频在线免费观看 | 88av视频| 一区二区三区高清在线 | 日韩a级黄色 | 97视频入口免费观看 | av在线之家电影网站 | 区一区二区三区中文字幕 | 伊人五月 | 91资源在线播放 | 激情综合网婷婷 | 色婷婷九月 | 久久久久久久久久久免费视频 | 午夜精品久久久99热福利 | 激情五月综合网 | 亚洲视频999| 亚洲综合最新在线 | 国产裸体bbb视频 | 免费亚洲视频 | 99久久超碰中文字幕伊人 | 精品国产亚洲日本 | 黄色成人91 | 欧美视频www | 久久夜色精品国产欧美乱 | 久久国产美女视频 | 麻豆精品视频在线观看免费 | 成年人网站免费在线观看 | 色多视频在线观看 | 日韩精品中文字幕在线观看 | 亚洲乱码精品 | 婷婷色站| 国产精品日韩久久久久 | 欧美综合色 | 天天操狠狠干 | 热久久免费视频精品 | 成人亚洲精品久久久久 | 日日夜夜狠狠 | 欧美午夜精品久久久久久浪潮 | 日本女人逼 | 在线免费观看国产视频 | 亚洲黄色免费在线 | 婷婷在线免费视频 | 精品国产一区二区三区在线观看 | 中文字幕 国产 一区 | 成人一级黄色片 | 久久天天操 | 人人爽人人搞 | 天天天操操操 | av高清一区二区三区 | 亚洲欧洲国产视频 | 五月激情在线 | 中文字幕av在线免费 | 九九视频网 | www.国产精品| www91在线| 91精品国自产在线观看 | 五月婷婷视频在线 | 亚洲精品456在线播放 | 免费看片网址 | 国产高清视频在线播放一区 | 精品一区二区在线看 | 99人久久精品视频最新地址 | 国产成人免费网站 | 亚洲精品国产免费 | 久久国产美女视频 | 国产成人精品亚洲日本在线观看 | 在线观看视频一区二区 | 天天激情综合网 | 又黄又刺激又爽的视频 | 亚洲黄色免费在线看 | 欧美日韩首页 | 超碰97国产精品人人cao | 精品国产一区二区三区久久久 | 日韩最新在线视频 | 波多野结衣在线视频免费观看 | 国产精彩视频一区 | 亚洲综合欧美日韩狠狠色 | 国产精品6999成人免费视频 | 在线观看日韩国产 | 免费观看91视频大全 | 色就是色综合 | 人人cao| 国产免费视频在线 | 毛片888 | 日韩在线观看不卡 | 开心激情五月婷婷 | 国产精品理论视频 | 日韩视频在线不卡 | 国产精品亚洲精品 | 五月天婷婷综合 | 中文字幕在线免费观看 | 午夜av电影院 | 最新av在线网址 | 91麻豆精品国产91久久久久 | 97在线观看免费高清完整版在线观看 | 日本精品中文字幕在线观看 | 日韩一二区在线 | 人人干干人人 | 国产精品福利无圣光在线一区 | 麻豆 91 在线 | 日韩中文字幕免费看 | 婷久久 | 中文字幕色网站 | www.夜夜骑.com| 亚洲精品黄网站 | 欧美在线久久 | 成人免费在线观看电影 | 日本黄色大片免费看 | 亚洲国产精选 | 久久精品视频播放 | 99热这里有精品 | av网站在线观看免费 | av成人免费在线观看 | 日日草天天草 | 国产精品久久久久久久久免费 | 99午夜 | 激情五月婷婷综合网 | 狠狠操综合网 | 一区二区久久 | 色www免费视频 | 国产1区2 | 一区二区三区日韩精品 | 国产精品毛片久久久久久久 | 97在线免费观看视频 | 91免费黄视频 | 精品久久久久久久久久岛国gif | 精品久久1 | 日韩精品网址 | 四虎影视欧美 | 毛片永久免费 | 777奇米四色 | 91成人国产 | 亚洲国产mv| 日韩av偷拍| 国产在线精 | 91大神精品视频在线观看 | 激情五月激情综合网 | 色偷偷88888欧美精品久久久 | 伊人中文网 | 麻豆视频免费版 | 乱男乱女www7788| 91插插插网站 | 97成人免费| 国产明星视频三级a三级点| 97国产| 久久久久久久久毛片精品 | 亚洲欧美日韩不卡 | 国产91免费在线观看 | 国外成人在线视频网站 | 欧美日韩一区二区视频在线观看 | 久久深夜福利免费观看 | 久久99精品久久久久蜜臀 | 国产高清成人 | 国产福利精品一区二区 | 久久久亚洲精华液 | 在线视频 亚洲 | 久久高清| 国产涩涩在线观看 | 九九九九九九精品任你躁 | 在线观看色网站 | 欧美日韩精品在线播放 | 国产伦理一区二区 | 日韩二区三区在线观看 | 亚洲综合网 | 人人玩人人添人人澡97 | 国产一区二区三区在线免费观看 | 奇米网网址 | 91视频免费看片 | 99视频网站| 婷婷六月天综合 | 麻豆久久久 | 黄av免费 | 亚洲视频免费在线观看 | 免费观看一级特黄欧美大片 | 在线亚洲欧美视频 | av网站大全免费 | 九热精品 | 日日夜夜精品视频天天综合网 | 99精品视频一区 | 国语精品久久 | 夜色资源站wwwcom | 国产专区视频在线 | se婷婷 | 91在线看视频免费 | 日韩精品一区二 | 中国美女一级看片 | 日韩特黄一级欧美毛片特黄 | 中文字幕乱偷在线 | 日韩精品高清不卡 | 久久久久综合网 | 夜又临在线观看 | 色多视频在线观看 | 91香蕉视频污在线 | 99在线观看| 色狠狠狠 | 91女子私密保健养生少妇 | 99久久精品电影 | 一区二区av | 国产一区高清在线观看 | 在线观看免费av网站 | 久草av在线播放 | 激情五月开心 | 亚洲视频在线观看 | 蜜臀av网站| 97视频在线观看成人 | 国产日产精品一区二区三区四区 | 波多野结衣久久精品 | 国产福利资源 | 香蕉影院在线 | 国产黑丝一区二区三区 | 又黄又爽又湿又无遮挡的在线视频 | 午夜精品久久久久 | 精品国产免费av | 久久精品久久久久电影 | 不卡的av在线 | 国产在线成人 | 狠狠色丁婷婷日日 | 久久久久国产精品www | 免费69视频 | 欧美经典久久 | 欧美成人aa | 日本精品免费看 | 日本激情动作片免费看 | 天天爱天天干天天爽 | 狠色狠色综合久久 | 超碰97在线看| 黄色毛片视频免费观看中文 | 亚洲一区日韩精品 | 久久论理 | 国产精品自产拍在线观看蜜 | 国产成人免费av电影 | 三上悠亚一区二区在线观看 | 99久久精品久久久久久动态片 | 激情综合色播五月 | 国产精品都在这里 | 天天干天天弄 | 日本在线观看一区 | 亚洲精品中文字幕视频 | 精品国产1区2区3区 国产欧美精品在线观看 | 久久精品久久久久 | 色视频网站在线 | 国产黄色精品网站 | 亚洲精品在线观看视频 | 日韩理论在线视频 | 涩涩网站在线播放 | 四虎国产精品成人免费影视 | 日韩mv欧美mv国产精品 | 亚洲 中文 欧美 日韩vr 在线 | 欧美日韩在线网站 | 亚洲欧美国产精品18p | 色五婷婷 | 日操操| 91人人爽人人爽人人精88v | 在线亚州| 四虎成人免费影院 | 欧美一级片免费观看 | 国产精品一区二区62 | 免费在线看成人av | 国产一级淫片免费看 | 日韩电影中文字幕 | 香蕉在线播放 | 亚洲精品国偷自产在线99热 | 麻豆视频免费在线观看 | 国产精品一区二区av日韩在线 | 在线观看av小说 | 亚洲韩国一区二区三区 | 97精品视频在线 | 国产黄色美女 | 成人免费网视频 | 欧美激情视频一二三区 | 免费在线看v | 欧美精品久久久久性色 | 精品国产免费一区二区三区五区 | 久久久久久久久久免费视频 | 天天射天天干天天爽 | 久久av网 | 99精品国产在热久久 | 中文字幕网站 | 天天草天天干 | 久草在线官网 | 99久久精品国产网站 | 久久九九影视网 | 国产精品刺激对白麻豆99 | 伊人婷婷综合 | 亚洲激情在线 | 久久免费在线观看 | 国产精品99在线观看 | 色干综合 | 天天艹日日干 | 亚洲视频免费在线观看 | 日本三级久久 | 国产精品久一 | 精品久久久久久久久久久久久久久久久久 | 午夜精品久久久久久久99热影院 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 香蕉蜜桃视频 | 中文有码在线 | 欧美亚洲另类在线视频 | 国产中文在线播放 | 日韩肉感妇bbwbbwbbw | 成人性生交大片免费看中文网站 | 中国成人一区 | 激情av五月婷婷 | 中文字幕欧美三区 | 国产精品女教师 | 肉色欧美久久久久久久免费看 | 国产a视频免费观看 | 亚洲日本va中文字幕 | 一级黄色片网站 | 毛片网站在线看 | 国产在线2020 | 欧美一级免费片 | 9992tv成人免费看片 | 国产午夜精品免费一区二区三区视频 | 久久精品中文字幕 | 91久色蝌蚪 | 久久99精品久久只有精品 | 免费观看特级毛片 | 日韩av不卡在线播放 | 中文字幕av最新更新 | 中文字幕在线播放一区二区 | 99久久9| 日本字幕网 | 在线亚洲人成电影网站色www | 激情久久网 | 麻豆91网站 | 亚洲精品视频免费在线 | 亚洲精品视频在线播放 | 国产日韩中文字幕 | 中文字幕在线观看第一页 | 蜜臀一区二区三区精品免费视频 | avhd高清在线谜片 | 中文字幕网站 | 中文字幕二区三区 | 蜜臀av在线一区二区三区 | 欧美a级成人淫片免费看 | 中文字幕在线看视频国产中文版 | 国产又粗又猛又爽又黄的视频免费 | a级黄色片视频 | 成人app在线免费观看 | 亚洲狠狠婷婷综合久久久 | 夜夜澡人模人人添人人看 | 免费日韩 精品中文字幕视频在线 | 久久精品站 | 性色av一区二区三区在线观看 | 91 在线视频播放 | 日日夜夜天天射 | 成年人在线观看视频免费 | 亚洲理论影院 | 国产精品免费成人 | 亚洲人人射 | 亚洲第一区在线观看 | avsex| 中文字幕中文字幕在线中文字幕三区 | 91高清免费在线观看 | 亚洲视频 一区 | 在线成人免费av | 福利av影院 | 日批网站免费观看 | 日韩精品视频免费专区在线播放 | 日韩a级黄色 | 精品久久久久久久久久久久久 | 午夜精品婷婷 | 国产亚洲一区二区在线观看 | 国产美女精品人人做人人爽 | 天天射综合网站 | 久久免费试看 | 国产成人三级在线 | 九九99| 久久久首页 | 91视频高清免费 | 麻豆视频免费在线播放 | 久久婷婷国产 | av大全在线免费观看 | 91九色在线观看 | 日本美女xx | 视频在线观看日韩 | 免费看精品久久片 | 欧美视频www | 视频在线观看日韩 | 99免费看片 | 欧美一级电影片 | 久久激情五月婷婷 | 国产美女免费观看 | 色多多污污 | 97成人在线| 中文字幕资源网在线观看 | 亚洲永久精品在线 | 色婷婷狠狠18| 天天干天天干天天干天天干天天干天天干 | 精品黄色在线观看 | 看片网站黄 | 人人干天天干 | 91香蕉亚洲精品 | 国产精品久久久av久久久 | 欧美日韩高清国产 | 99色网站 | 欧美精品v国产精品v日韩精品 | 天天拍天天爽 | 国内精品久久久久久久影视麻豆 | 在线日韩中文字幕 | 激情欧美一区二区三区免费看 | 日日色综合 | 四虎国产精品免费观看视频优播 | 天天摸天天舔 | 一区二区欧美在线观看 | 最新色视频 | 一区二区中文字幕在线 | 日韩xxx视频 | 美女视频黄,久久 | 日本精品久久 | 国产精选在线观看 | 国产九九热视频 | 娇妻呻吟一区二区三区 | 久久国产精品99久久久久久老狼 | 欧美 日韩 成人 | 欧美在线free | 精品久久免费 | 亚洲精品视频在线播放 | 国内精品久久久久久久久久清纯 | 韩日精品在线观看 | 国产精品一区二区在线播放 | 色久五月| 最近免费观看的电影完整版 | 色5月婷婷| 黄色大片入口 | 一区二区三区播放 | 一区二区高清在线 | 日韩最新av| av在线免费在线 | 久久99在线视频 | 成人久久免费视频 | 久久伊人色综合 | 日韩二区精品 | 欧美日韩大片在线观看 | www.狠狠| www最近高清中文国语在线观看 | 成人av在线亚洲 | 午夜精品一区二区三区在线视频 | 欧美日本啪啪无遮挡网站 | 99国产精品一区二区 | 国产美女精彩久久 | 日韩中文在线播放 | 久久视频国产精品免费视频在线 | 欧美高清视频不卡网 | 国产精品淫 | 久久手机免费视频 | 日韩女同一区二区三区在线观看 | 免费在线成人 | 超碰人人在| 97超碰在线免费观看 | 国产精品久久久久久久午夜片 | 成人四虎影院 | 人人澡av| 麻豆视频免费观看 | 免费av网址在线观看 | 久久96 | 久久久精品欧美 | 国产美女精品视频免费观看 | 亚洲成人一二三 | 日韩午夜小视频 | 欧美成人xxxxxxxx| 成人网中文字幕 | 91毛片在线观看 | 欧美日韩国产精品久久 | 欧美性生活一级片 | 97人人射 | 青青色影院 | 国产精品麻豆视频 | 偷拍福利视频一区二区三区 | 欧美日韩高清一区二区三区 | 久草视频在线免费看 | 91黄色在线看 | 久久精品99久久久久久2456 | 91午夜精品 | 91av看片| 国产精品高清av | 在线播放你懂 | 美女视频黄的免费的 | 国产成人黄色av | 成人在线黄色电影 | 九九热免费视频在线观看 | 亚洲成人第一区 | 91精品国产91热久久久做人人 | 成人avav| a视频在线观看 | 国产一区二区三区在线免费观看 | 国产淫片 | 日韩丝袜 | 精品国产大片 | 在线有码中文字幕 | 黄色亚洲精品 | 国产一区二区在线观看免费 | 96av在线| 粉嫩av一区二区三区四区五区 | 久久久国产99久久国产一 | 亚洲国产欧美在线看片xxoo | 国产一级大片免费看 | 久久激情片 | 精品久久精品久久 | 日日爽天天操 | 在线视频成人 | 国产成视频在线观看 | 久久黄色网页 | 丁香综合 | 国产五码一区 | 激情五月在线视频 | 99这里只有 | 国产精彩视频一区二区 | 欧美大片aaa | 精品国产一区二区三区不卡 | 亚洲精品色视频 | 五月婷婷丁香网 | 98涩涩国产露脸精品国产网 | av导航福利 | 最近日本中文字幕 | 亚洲有 在线 | 成人va视频 | 国产精品九九久久久久久久 | 亚洲va欧美va人人爽 | 午夜在线免费观看视频 | 婷婷在线精品视频 | 99久久精品免费看国产一区二区三区 | 欧美特一级片 | 天天爱av导航 | 中文字幕在线免费观看视频 | 开心激情五月婷婷 | 中文字幕日韩电影 | 色噜噜狠狠色综合中国 | 欧美激情另类文学 | 96久久 | 欧美国产大片 | 亚洲国产精品999 | 在线亚洲人成电影网站色www | 日韩a在线观看 | 久久有精品 | 国产一线在线 | 色婷婷午夜 | 97精品一区二区三区 | 亚洲精品免费观看视频 | 日韩精品一二三 | 久久久久久国产精品999 | 99亚洲精品| 久久新| 久久久久国产精品厨房 | 免费在线激情电影 | 狠狠久久| 色多多污污 | 在线看小早川怜子av | 粉嫩一区二区三区粉嫩91 | 在线观看亚洲电影 | 99免费在线视频 | 色av婷婷| 亚洲精品视频免费在线观看 | 亚洲精品免费在线观看视频 | 色网站中文字幕 | 91精品在线播放 | 精品嫩模福利一区二区蜜臀 | 免费手机黄色网址 | 日韩xxx视频| 日韩激情网 | 激情电影在线观看 | 97人人射 | av在线中文 | 91理论电影 | 亚洲欧美成人综合 | 91伊人| 91av在线视频免费观看 | 国产麻豆精品久久 | se婷婷 | 超级碰99 | 91久久丝袜国产露脸动漫 | 久久99久国产精品黄毛片入口 | 日韩中文字幕第一页 | 高清av网| 免费在线电影网址大全 | 久久久久激情电影 | 欧美性色黄大片在线观看 | 日韩.com| 欧美做受高潮1 | 国产丝袜一区二区三区 | 亚洲婷婷丁香 | 国产91在 | 亚洲国产精品电影在线观看 | 欧美一二三区在线观看 | 精品国产一区二区在线 | 日韩国产精品一区 | 精品高清视频 | 国产91勾搭技师精品 | 九九久久久 | 亚洲一片黄 | 国内少妇自拍视频一区 | 色婷婷五 | 中文字幕乱在线伦视频中文字幕乱码在线 | 在线天堂日本 | 国产精品9999 | 亚洲美女免费精品视频在线观看 | 日日夜夜中文字幕 | 欧美日韩一区二区视频在线观看 | 精品国产一区二区三区免费 | 欧美激情视频一区二区三区免费 | 五月婷婷丁香在线观看 | 91chinesexxx | a特级毛片 | 黄色aa久久| 日p视频 | 天天干天天做 | 国产电影黄色av | 亚洲乱亚洲乱妇 | 久久尤物电影视频在线观看 | 97超碰在线久草超碰在线观看 | 日韩av一区二区三区在线观看 | 国产高清视频在线播放一区 | 日韩在线三级 | 午夜久久久久久久久久久 | 亚洲 欧美 91 | 成人av电影免费在线播放 | 在线日韩精品视频 | av青草 | 国产不卡片| 色狠狠久久av五月综合 | 成人av在线亚洲 | 日韩中文字幕国产 | 人人干干人人 | 久久免费黄色 | 麻豆国产精品永久免费视频 | 手机在线中文字幕 | 欧美国产日韩一区二区三区 | 波多野结衣视频一区二区三区 | 亚洲精品99 | 日日夜夜精品 | 天天干天天操人体 | 国产精品女同一区二区三区久久夜 | 性色av免费在线观看 | 久人人| 免费不卡中文字幕视频 | 九九九九九精品 | 国产高清中文字幕 | 成人中文字幕+乱码+中文字幕 | 免费www视频 | 日韩在线视频观看 | 亚洲激色 | 日b黄色片 | 天堂av免费看 | 成人黄色小说视频 | 99久久日韩精品免费热麻豆美女 | 四虎国产精品永久在线国在线 | 国产精品 日韩 欧美 | 91精品久久久久久久久久入口 | 一区二区三区视频 | 国产网红在线观看 | 国内精品久久久久久久 | 日韩免费电影 | 午夜精品久久久久久久99热影院 | 国产免费一区二区三区网站免费 | 99在线视频播放 | 日韩欧美在线中文字幕 | 国产精品3| 精品福利av| 久久毛片网站 | 福利视频导航网址 | 91人人射 | 久久久久女教师免费一区 | 亚洲在线精品视频 | 99爱精品视频 | 日本中文字幕在线播放 | 中文字幕 国产 一区 | 日日夜夜精品免费视频 | 99久久99热这里只有精品 | 亚洲视频精选 | 91精品久久久久久久91蜜桃 | 亚洲精品国产精品国自产观看浪潮 | 一本到视频在线观看 | 狠狠色噜噜狠狠狠合久 | 国产麻豆果冻传媒在线观看 | 激情www | av天天干 | 九九精品久久久 | 特级西西www44高清大胆图片 | 久久综合影音 | 人人舔人人爱 | 日韩一区二区免费在线观看 | 国产女人18毛片水真多18精品 | 亚洲色图美腿丝袜 | 午夜久久影院 | 久久在视频 | 久久a级片 | 亚洲最大激情中文字幕 | 狠狠色网| 超碰97免费在线 | 国产精品女 | 久99久精品 | www视频免费在线观看 | 99视频国产精品免费观看 | 国产精品成人一区二区三区吃奶 | 成年人免费在线播放 | sm免费xx网站| 三级黄色理论片 | 国产xx视频 | 97色在线| 在线看片成人 | 婷婷伊人综合亚洲综合网 | 天天射天天干天天操 | 日日干天天 | 久久特级毛片 | 欧美另类美少妇69xxxx | 国产精品视频在线看 | 国产日韩在线观看一区 | 欧美日韩精品综合 | 91成年人在线观看 | 日韩资源视频 | av播放在线 | 黄污视频大全 | 97色噜噜 | 亚洲国产精品久久久 | 在线小视频你懂的 | 日韩精品在线视频免费观看 | 天堂在线视频免费观看 | 中文字幕乱码日本亚洲一区二区 | 婷婷精品视频 | 欧美 亚洲 另类 激情 另类 | 一区二区三区精品在线视频 | 久久久久国产成人精品亚洲午夜 | 视频一区二区三区视频 | 久久免费精品国产 | 免费视频成人 | 蜜臀av网址 | 天天射天 | 丁香花中文在线免费观看 | 亚洲资源在线网 | 天天搞天天干天天色 | 久久免费美女视频 | 久久久久免费精品视频 | 国产一二区视频 | 一区二区三区在线电影 | 日韩av伦理片 | 日韩高清在线一区二区三区 | 成人av网页| 免费视频久久久久久久 | 国产精品免费在线视频 | 外国av网| 中文网丁香综合网 | 丁香六月在线观看 | 天天做日日做天天爽视频免费 | 亚洲精品a区 | 人人爽人人爽人人爽学生一级 | 久久久久网站 | 欧洲成人免费 | 亚洲欧洲精品一区二区精品久久久 | 国产精品久久久久久久av大片 | 成人av片免费看 | 国产日韩三级 | 日韩精品在线免费观看 | 日韩三级av | 播五月综合 | 欧美一级片免费观看 | 国产精品久久久久9999 | 国产视频中文字幕在线观看 | 成人福利在线观看 | 91精品视频在线观看免费 | 国产精品theporn | 欧美日韩在线观看一区二区 | 在线免费av网站 | 国产精品色视频 | 免费a级黄色毛片 | 免费看三级 | 黄色的网站免费看 | 欧美在线视频精品 | 天天干天天插 | 久草在线99 | 2019av在线视频 | 91av网站在线观看 | 久久精品小视频 | 久久免费精彩视频 | 国产精品美女久久久久久久网站 | 玖玖玖影院 | 91av九色 | 欧美国产日韩在线观看 | av大片网站| 日韩欧美精品在线观看 | 亚洲三级在线 | 97爱| 久久久久久免费视频 | 人人爱人人舔 | 夜夜操天天摸 | 五月天久久久久久 | 四虎国产精品成人免费影视 | 国产在线 一区二区三区 | 成人国产精品免费 | 日本性xxx | 日韩免费看的电影 | 狠狠干狠狠艹 | 国产精品成人免费 | 免费日韩三级 | 久久精品香蕉 | 亚洲国产中文字幕在线视频综合 | 日本中文一级片 | 99久久www免费 | 国产精品九色 | 黄色免费av | 国产视频精选在线 | 国际精品久久 | 99这里只有精品视频 | 婷婷夜夜 | 特级西西444www大精品视频免费看 | 成年人免费观看国产 | 999精品在线 | 奇米777777| 91av视频在线观看 | 天天艹| 亚洲精品乱码白浆高清久久久久久 | 久久区二区 | 国产精品网站一区二区三区 | 六月丁香婷婷在线 | 日韩高清一区二区 | 最新国产福利 | 在线免费国产视频 | www黄com| 中文av一区二区 | 天天爽夜夜爽精品视频婷婷 | 久久久久女人精品毛片九一 | 国产98色在线 | 日韩 | 欧美一区在线看 | 亚洲精品乱码久久久久久蜜桃欧美 | 欧美日韩中文国产一区发布 | 99精品国产视频 | 在线成人短视频 | 综合天堂av久久久久久久 | 国产资源 | 98涩涩国产露脸精品国产网 | 久久午夜影院 | 国产原创91 | 亚州精品天堂中文字幕 | 五月婷婷综合色拍 | 国产精品欧美久久久久无广告 | 在线观看韩日电影免费 | www.超碰| 人人爽人人爽人人爽 | 国产亚洲成人网 | 国产精久久久久久久 | 久久综合九色九九 |