diff --git a/src/Security/Directory.Build.props b/src/Security/Directory.Build.props
index f1986d9953..a73e31b984 100644
--- a/src/Security/Directory.Build.props
+++ b/src/Security/Directory.Build.props
@@ -14,7 +14,6 @@
$(MSBuildThisFileDirectory)
$(MSBuildThisFileDirectory)build\Key.snk
true
- true
true
diff --git a/src/Security/Directory.Build.targets b/src/Security/Directory.Build.targets
index 53b3f6e1da..78626b773e 100644
--- a/src/Security/Directory.Build.targets
+++ b/src/Security/Directory.Build.targets
@@ -1,7 +1,10 @@
-
+
$(MicrosoftNETCoreApp20PackageVersion)
$(MicrosoftNETCoreApp21PackageVersion)
+ $(MicrosoftNETCoreApp22PackageVersion)
$(NETStandardLibrary20PackageVersion)
+
+ 99.9
diff --git a/src/Security/build/dependencies.props b/src/Security/build/dependencies.props
index 828f9c7ab2..0d1a80ebb6 100644
--- a/src/Security/build/dependencies.props
+++ b/src/Security/build/dependencies.props
@@ -2,15 +2,40 @@
$(MSBuildAllProjects);$(MSBuildThisFileFullPath)
-
-
-
- 2.1.3-rtm-15802
+
+ 2.2.0-preview2-20181004.6
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
+ 2.2.0-preview3-35425
3.14.2
5.2.0
5.2.0
- 2.0.0
- 2.1.2
+ 2.0.9
+ 2.1.3
+ 2.2.0-preview3-27001-02
15.6.1
3.0.1
3.0.1
@@ -18,41 +43,10 @@
2.0.3
11.0.2
5.2.0
- 0.8.0
+ 0.10.0
2.3.1
- 2.4.0-beta.1.build3945
+ 2.4.0
-
-
-
-
-
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.2
- 2.1.2
- 2.1.1
- 2.1.1
- 2.1.0
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
- 2.1.1
-
-
\ No newline at end of file
+
+
diff --git a/src/Security/build/repo.props b/src/Security/build/repo.props
index a4f86fb2f6..077c753e69 100644
--- a/src/Security/build/repo.props
+++ b/src/Security/build/repo.props
@@ -7,12 +7,13 @@
Internal.AspNetCore.Universe.Lineup
- 2.1.0-rc1-*
+ 2.2.0-*
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json
+
diff --git a/src/Security/samples/CookiePolicySample/CookiePolicySample.csproj b/src/Security/samples/CookiePolicySample/CookiePolicySample.csproj
index fb2e7d9172..48227eb07c 100644
--- a/src/Security/samples/CookiePolicySample/CookiePolicySample.csproj
+++ b/src/Security/samples/CookiePolicySample/CookiePolicySample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
diff --git a/src/Security/samples/CookiePolicySample/Startup.cs b/src/Security/samples/CookiePolicySample/Startup.cs
index 7ce9c2d2d2..4dcc6d4dc3 100644
--- a/src/Security/samples/CookiePolicySample/Startup.cs
+++ b/src/Security/samples/CookiePolicySample/Startup.cs
@@ -58,6 +58,13 @@ namespace CookiePolicySample
case "/RemoveTempCookie":
context.Response.Cookies.Delete("Temp");
break;
+ case "/CreateEssentialCookie":
+ context.Response.Cookies.Append("EssentialCookie", "2",
+ new CookieOptions() { IsEssential = true });
+ break;
+ case "/RemoveEssentialCookie":
+ context.Response.Cookies.Delete("EssentialCookie");
+ break;
case "/GrantConsent":
context.Features.Get().GrantConsent();
break;
@@ -84,6 +91,8 @@ namespace CookiePolicySample
await response.WriteAsync($"Logout
\r\n");
await response.WriteAsync($"Create Temp Cookie
\r\n");
await response.WriteAsync($"Remove Temp Cookie
\r\n");
+ await response.WriteAsync($"Create Essential Cookie
\r\n");
+ await response.WriteAsync($"Remove Essential Cookie
\r\n");
await response.WriteAsync($"Grant Consent
\r\n");
await response.WriteAsync($"Withdraw Consent
\r\n");
await response.WriteAsync("
\r\n");
diff --git a/src/Security/samples/CookieSample/CookieSample.csproj b/src/Security/samples/CookieSample/CookieSample.csproj
index 193137b861..1029f18193 100644
--- a/src/Security/samples/CookieSample/CookieSample.csproj
+++ b/src/Security/samples/CookieSample/CookieSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
diff --git a/src/Security/samples/CookieSessionSample/CookieSessionSample.csproj b/src/Security/samples/CookieSessionSample/CookieSessionSample.csproj
index 6241edd667..19bd043746 100644
--- a/src/Security/samples/CookieSessionSample/CookieSessionSample.csproj
+++ b/src/Security/samples/CookieSessionSample/CookieSessionSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
diff --git a/src/Security/samples/JwtBearerSample/JwtBearerSample.csproj b/src/Security/samples/JwtBearerSample/JwtBearerSample.csproj
index 84b436581a..3e0192a233 100644
--- a/src/Security/samples/JwtBearerSample/JwtBearerSample.csproj
+++ b/src/Security/samples/JwtBearerSample/JwtBearerSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
aspnet5-JwtBearerSample-20151210102827
diff --git a/src/Security/samples/OpenIdConnect.AzureAdSample/OpenIdConnect.AzureAdSample.csproj b/src/Security/samples/OpenIdConnect.AzureAdSample/OpenIdConnect.AzureAdSample.csproj
index b14b9590f5..2abd57cd89 100644
--- a/src/Security/samples/OpenIdConnect.AzureAdSample/OpenIdConnect.AzureAdSample.csproj
+++ b/src/Security/samples/OpenIdConnect.AzureAdSample/OpenIdConnect.AzureAdSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
aspnet5-OpenIdConnectSample-20151210110318
diff --git a/src/Security/samples/OpenIdConnectSample/OpenIdConnectSample.csproj b/src/Security/samples/OpenIdConnectSample/OpenIdConnectSample.csproj
index 23e87d4f2a..bb02ef1595 100644
--- a/src/Security/samples/OpenIdConnectSample/OpenIdConnectSample.csproj
+++ b/src/Security/samples/OpenIdConnectSample/OpenIdConnectSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
aspnet5-OpenIdConnectSample-20151210110318
diff --git a/src/Security/samples/SocialSample/SocialSample.csproj b/src/Security/samples/SocialSample/SocialSample.csproj
index a423ae21a3..a08b9799d1 100644
--- a/src/Security/samples/SocialSample/SocialSample.csproj
+++ b/src/Security/samples/SocialSample/SocialSample.csproj
@@ -1,7 +1,7 @@
-
+
- net461;netcoreapp2.1
+ net461;netcoreapp2.2
aspnet5-SocialSample-20151210111056
diff --git a/src/Security/samples/SocialSample/Startup.cs b/src/Security/samples/SocialSample/Startup.cs
index 35896e84b1..b5032072bd 100644
--- a/src/Security/samples/SocialSample/Startup.cs
+++ b/src/Security/samples/SocialSample/Startup.cs
@@ -59,6 +59,7 @@ namespace SocialSample
.AddCookie(o => o.LoginPath = new PathString("/login"))
// You must first create an app with Facebook and add its ID and Secret to your user-secrets.
// https://developers.facebook.com/apps/
+ // https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#login
.AddFacebook(o =>
{
o.AppId = Configuration["facebook:appid"];
@@ -74,6 +75,8 @@ namespace SocialSample
})
// You must first create an app with Google and add its ID and Secret to your user-secrets.
// https://console.developers.google.com/project
+ // https://developers.google.com/identity/protocols/OAuth2WebServer
+ // https://developers.google.com/+/web/people/
.AddOAuth("Google-AccessToken", "Google AccessToken only", o =>
{
o.ClientId = Configuration["google:clientid"];
@@ -92,6 +95,8 @@ namespace SocialSample
})
// You must first create an app with Google and add its ID and Secret to your user-secrets.
// https://console.developers.google.com/project
+ // https://developers.google.com/identity/protocols/OAuth2WebServer
+ // https://developers.google.com/+/web/people/
.AddGoogle(o =>
{
o.ClientId = Configuration["google:clientid"];
@@ -108,6 +113,7 @@ namespace SocialSample
})
// You must first create an app with Twitter and add its key and Secret to your user-secrets.
// https://apps.twitter.com/
+ // https://developer.twitter.com/en/docs/basics/authentication/api-reference/access_token
.AddTwitter(o =>
{
o.ConsumerKey = Configuration["twitter:consumerkey"];
diff --git a/src/Security/samples/WsFedSample/WsFedSample.csproj b/src/Security/samples/WsFedSample/WsFedSample.csproj
index bc3a59f10e..4fb38fa3e3 100644
--- a/src/Security/samples/WsFedSample/WsFedSample.csproj
+++ b/src/Security/samples/WsFedSample/WsFedSample.csproj
@@ -1,7 +1,7 @@
- net461;netcoreapp2.0
+ net461
diff --git a/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookDefaults.cs b/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookDefaults.cs
index 92d1d003e6..ff9bb40bf1 100644
--- a/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookDefaults.cs
+++ b/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookDefaults.cs
@@ -9,10 +9,11 @@ namespace Microsoft.AspNetCore.Authentication.Facebook
public static readonly string DisplayName = "Facebook";
- public static readonly string AuthorizationEndpoint = "https://www.facebook.com/v2.12/dialog/oauth";
+ // https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow#login
+ public static readonly string AuthorizationEndpoint = "https://www.facebook.com/v3.1/dialog/oauth";
- public static readonly string TokenEndpoint = "https://graph.facebook.com/v2.12/oauth/access_token";
+ public static readonly string TokenEndpoint = "https://graph.facebook.com/v3.1/oauth/access_token";
- public static readonly string UserInformationEndpoint = "https://graph.facebook.com/v2.12/me";
+ public static readonly string UserInformationEndpoint = "https://graph.facebook.com/v3.1/me";
}
}
diff --git a/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookOptions.cs b/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookOptions.cs
index 7010bb20aa..c2078a017b 100644
--- a/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookOptions.cs
+++ b/src/Security/src/Microsoft.AspNetCore.Authentication.Facebook/FacebookOptions.cs
@@ -26,7 +26,6 @@ namespace Microsoft.AspNetCore.Authentication.Facebook
AuthorizationEndpoint = FacebookDefaults.AuthorizationEndpoint;
TokenEndpoint = FacebookDefaults.TokenEndpoint;
UserInformationEndpoint = FacebookDefaults.UserInformationEndpoint;
- Scope.Add("public_profile");
Scope.Add("email");
Fields.Add("name");
Fields.Add("email");
diff --git a/src/Security/src/Microsoft.AspNetCore.Authentication.Google/GoogleDefaults.cs b/src/Security/src/Microsoft.AspNetCore.Authentication.Google/GoogleDefaults.cs
index 0428703180..26b3b8f01c 100644
--- a/src/Security/src/Microsoft.AspNetCore.Authentication.Google/GoogleDefaults.cs
+++ b/src/Security/src/Microsoft.AspNetCore.Authentication.Google/GoogleDefaults.cs
@@ -12,10 +12,12 @@ namespace Microsoft.AspNetCore.Authentication.Google
public static readonly string DisplayName = "Google";
+ // https://developers.google.com/identity/protocols/OAuth2WebServer
public static readonly string AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/v2/auth";
public static readonly string TokenEndpoint = "https://www.googleapis.com/oauth2/v4/token";
+ // https://developers.google.com/+/web/people/
public static readonly string UserInformationEndpoint = "https://www.googleapis.com/plus/v1/people/me";
}
}
diff --git a/src/Security/src/Microsoft.AspNetCore.Authentication.JwtBearer/JwtBearerHandler.cs b/src/Security/src/Microsoft.AspNetCore.Authentication.JwtBearer/JwtBearerHandler.cs
index 6d5c7f5f5e..452d9639f4 100644
--- a/src/Security/src/Microsoft.AspNetCore.Authentication.JwtBearer/JwtBearerHandler.cs
+++ b/src/Security/src/Microsoft.AspNetCore.Authentication.JwtBearer/JwtBearerHandler.cs
@@ -32,8 +32,8 @@ namespace Microsoft.AspNetCore.Authentication.JwtBearer
///
protected new JwtBearerEvents Events
{
- get { return (JwtBearerEvents)base.Events; }
- set { base.Events = value; }
+ get => (JwtBearerEvents)base.Events;
+ set => base.Events = value;
}
protected override Task