Merge branch 'rel/2.0.0' into dev
This commit is contained in:
commit
442df16e26
|
|
@ -49,7 +49,7 @@ namespace OpenIdConnect.AzureAdSample
|
|||
sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
|
||||
})
|
||||
.AddCookie()
|
||||
.AddOpenIdConnect(o =>
|
||||
.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, "AAD", o =>
|
||||
{
|
||||
o.ClientId = ClientId;
|
||||
o.ClientSecret = ClientSecret; // for code flow
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ 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
|
||||
.AddOAuth("Google-AccessToken", o =>
|
||||
.AddOAuth("Google-AccessToken", "Google AccessToken only", o =>
|
||||
{
|
||||
o.ClientId = Configuration["google:clientid"];
|
||||
o.ClientSecret = Configuration["google:clientsecret"];
|
||||
|
|
@ -128,7 +128,7 @@ namespace SocialSample
|
|||
*/
|
||||
// You must first create an app with Microsoft Account and add its ID and Secret to your user-secrets.
|
||||
// https://apps.dev.microsoft.com/
|
||||
.AddOAuth("Microsoft-AccessToken", o =>
|
||||
.AddOAuth("Microsoft-AccessToken", "Microsoft AccessToken only", o =>
|
||||
{
|
||||
o.ClientId = Configuration["microsoftaccount:clientid"];
|
||||
o.ClientSecret = Configuration["microsoftaccount:clientsecret"];
|
||||
|
|
@ -148,7 +148,7 @@ namespace SocialSample
|
|||
})
|
||||
// You must first create an app with GitHub and add its ID and Secret to your user-secrets.
|
||||
// https://github.com/settings/applications/
|
||||
.AddOAuth("GitHub-AccessToken", o =>
|
||||
.AddOAuth("GitHub-AccessToken", "GitHub AccessToken only", o =>
|
||||
{
|
||||
o.ClientId = Configuration["github-token:clientid"];
|
||||
o.ClientSecret = Configuration["github-token:clientsecret"];
|
||||
|
|
|
|||
|
|
@ -21,9 +21,12 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddCookie(this AuthenticationBuilder builder, string authenticationScheme, Action<CookieAuthenticationOptions> configureOptions)
|
||||
=> builder.AddCookie(authenticationScheme, displayName: null, configureOptions: configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddCookie(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<CookieAuthenticationOptions> configureOptions)
|
||||
{
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<CookieAuthenticationOptions>, PostConfigureCookieAuthenticationOptions>());
|
||||
return builder.AddScheme<CookieAuthenticationOptions, CookieAuthenticationHandler>(authenticationScheme, configureOptions);
|
||||
return builder.AddScheme<CookieAuthenticationOptions, CookieAuthenticationHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace Microsoft.AspNetCore.Authentication.Facebook
|
|||
{
|
||||
public const string AuthenticationScheme = "Facebook";
|
||||
|
||||
public static readonly string DisplayName = "Facebook";
|
||||
|
||||
public static readonly string AuthorizationEndpoint = "https://www.facebook.com/v2.6/dialog/oauth";
|
||||
|
||||
public static readonly string TokenEndpoint = "https://graph.facebook.com/v2.6/oauth/access_token";
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddFacebook(FacebookDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddFacebook(this AuthenticationBuilder builder, string authenticationScheme, Action<FacebookOptions> configureOptions)
|
||||
=> builder.AddOAuth<FacebookOptions, FacebookHandler>(authenticationScheme, configureOptions);
|
||||
=> builder.AddFacebook(authenticationScheme, FacebookDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddFacebook(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<FacebookOptions> configureOptions)
|
||||
=> builder.AddOAuth<FacebookOptions, FacebookHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ namespace Microsoft.AspNetCore.Authentication.Google
|
|||
{
|
||||
public const string AuthenticationScheme = "Google";
|
||||
|
||||
public static readonly string DisplayName = "Google";
|
||||
|
||||
public static readonly string AuthorizationEndpoint = "https://accounts.google.com/o/oauth2/auth";
|
||||
|
||||
public static readonly string TokenEndpoint = "https://www.googleapis.com/oauth2/v4/token";
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddGoogle(GoogleDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddGoogle(this AuthenticationBuilder builder, string authenticationScheme, Action<GoogleOptions> configureOptions)
|
||||
=> builder.AddOAuth<GoogleOptions, GoogleHandler>(authenticationScheme, configureOptions);
|
||||
=> builder.AddGoogle(authenticationScheme, GoogleDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddGoogle(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<GoogleOptions> configureOptions)
|
||||
=> builder.AddOAuth<GoogleOptions, GoogleHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,12 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddJwtBearer(this AuthenticationBuilder builder, string authenticationScheme, Action<JwtBearerOptions> configureOptions)
|
||||
=> builder.AddJwtBearer(authenticationScheme, displayName: null, configureOptions: configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddJwtBearer(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<JwtBearerOptions> configureOptions)
|
||||
{
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<JwtBearerOptions>, JwtBearerPostConfigureOptions>());
|
||||
return builder.AddScheme<JwtBearerOptions, JwtBearerHandler>(authenticationScheme, configureOptions);
|
||||
return builder.AddScheme<JwtBearerOptions, JwtBearerHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ namespace Microsoft.AspNetCore.Authentication.MicrosoftAccount
|
|||
{
|
||||
public const string AuthenticationScheme = "Microsoft";
|
||||
|
||||
public static readonly string DisplayName = "Microsoft";
|
||||
|
||||
public static readonly string AuthorizationEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
|
||||
|
||||
public static readonly string TokenEndpoint = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddMicrosoftAccount(MicrosoftAccountDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddMicrosoftAccount(this AuthenticationBuilder builder, string authenticationScheme, Action<MicrosoftAccountOptions> configureOptions)
|
||||
=> builder.AddOAuth<MicrosoftAccountOptions, MicrosoftAccountHandler>(authenticationScheme, configureOptions);
|
||||
=> builder.AddMicrosoftAccount(authenticationScheme, MicrosoftAccountDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddMicrosoftAccount(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<MicrosoftAccountOptions> configureOptions)
|
||||
=> builder.AddOAuth<MicrosoftAccountOptions, MicrosoftAccountHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
namespace Microsoft.AspNetCore.Authentication.OAuth
|
||||
{
|
||||
public static class OAuthDefaults
|
||||
{
|
||||
public static readonly string DisplayName = "OAuth";
|
||||
}
|
||||
}
|
||||
|
|
@ -14,12 +14,20 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
public static AuthenticationBuilder AddOAuth(this AuthenticationBuilder builder, string authenticationScheme, Action<OAuthOptions> configureOptions)
|
||||
=> builder.AddOAuth<OAuthOptions, OAuthHandler<OAuthOptions>>(authenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddOAuth(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<OAuthOptions> configureOptions)
|
||||
=> builder.AddOAuth<OAuthOptions, OAuthHandler<OAuthOptions>>(authenticationScheme, displayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddOAuth<TOptions, THandler>(this AuthenticationBuilder builder, string authenticationScheme, Action<TOptions> configureOptions)
|
||||
where TOptions : OAuthOptions, new()
|
||||
where THandler : OAuthHandler<TOptions>
|
||||
=> builder.AddOAuth<TOptions, THandler>(authenticationScheme, OAuthDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddOAuth<TOptions, THandler>(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<TOptions> configureOptions)
|
||||
where TOptions : OAuthOptions, new()
|
||||
where THandler : OAuthHandler<TOptions>
|
||||
{
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<TOptions>, OAuthPostConfigureOptions<TOptions, THandler>>());
|
||||
return builder.AddRemoteScheme<TOptions, THandler>(authenticationScheme, authenticationScheme, configureOptions);
|
||||
return builder.AddRemoteScheme<TOptions, THandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,9 +19,9 @@ namespace Microsoft.AspNetCore.Authentication.OpenIdConnect
|
|||
public const string AuthenticationScheme = "OpenIdConnect";
|
||||
|
||||
/// <summary>
|
||||
/// The default value for OpenIdConnectOptions.Caption.
|
||||
/// The default value for the display name.
|
||||
/// </summary>
|
||||
public static readonly string Caption = "OpenIdConnect";
|
||||
public static readonly string DisplayName = "OpenIdConnect";
|
||||
|
||||
/// <summary>
|
||||
/// The prefix used to for the nonce in the cookie.
|
||||
|
|
|
|||
|
|
@ -18,9 +18,12 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddOpenIdConnect(OpenIdConnectDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddOpenIdConnect(this AuthenticationBuilder builder, string authenticationScheme, Action<OpenIdConnectOptions> configureOptions)
|
||||
=> builder.AddOpenIdConnect(authenticationScheme, OpenIdConnectDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddOpenIdConnect(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<OpenIdConnectOptions> configureOptions)
|
||||
{
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<OpenIdConnectOptions>, OpenIdConnectPostConfigureOptions>());
|
||||
return builder.AddRemoteScheme<OpenIdConnectOptions, OpenIdConnectHandler>(authenticationScheme, authenticationScheme, configureOptions);
|
||||
return builder.AddRemoteScheme<OpenIdConnectOptions, OpenIdConnectHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ namespace Microsoft.AspNetCore.Authentication.OpenIdConnect
|
|||
/// Defaults:
|
||||
/// <para>AddNonceToRequest: true.</para>
|
||||
/// <para>BackchannelTimeout: 1 minute.</para>
|
||||
/// <para>Caption: <see cref="OpenIdConnectDefaults.Caption"/>.</para>
|
||||
/// <para>ProtocolValidator: new <see cref="OpenIdConnectProtocolValidator"/>.</para>
|
||||
/// <para>RefreshOnIssuerKeyNotFound: true</para>
|
||||
/// <para>ResponseType: <see cref="OpenIdConnectResponseType.CodeIdToken"/></para>
|
||||
|
|
|
|||
|
|
@ -59,5 +59,10 @@
|
|||
{
|
||||
"TypeId": "public class Microsoft.AspNetCore.Authentication.OpenIdConnect.UserInformationReceivedContext : Microsoft.AspNetCore.Authentication.OpenIdConnect.BaseOpenIdConnectContext",
|
||||
"Kind": "Removal"
|
||||
},
|
||||
{
|
||||
"TypeId": "public static class Microsoft.AspNetCore.Authentication.OpenIdConnect.OpenIdConnectDefaults",
|
||||
"MemberId": "public static readonly System.String Caption",
|
||||
"Kind": "Removal"
|
||||
}
|
||||
]
|
||||
|
|
@ -6,5 +6,7 @@ namespace Microsoft.AspNetCore.Authentication.Twitter
|
|||
public static class TwitterDefaults
|
||||
{
|
||||
public const string AuthenticationScheme = "Twitter";
|
||||
|
||||
public static readonly string DisplayName = "Twitter";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,9 +18,12 @@ namespace Microsoft.Extensions.DependencyInjection
|
|||
=> builder.AddTwitter(TwitterDefaults.AuthenticationScheme, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddTwitter(this AuthenticationBuilder builder, string authenticationScheme, Action<TwitterOptions> configureOptions)
|
||||
=> builder.AddTwitter(authenticationScheme, TwitterDefaults.DisplayName, configureOptions);
|
||||
|
||||
public static AuthenticationBuilder AddTwitter(this AuthenticationBuilder builder, string authenticationScheme, string displayName, Action<TwitterOptions> configureOptions)
|
||||
{
|
||||
builder.Services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<TwitterOptions>, TwitterPostConfigureOptions>());
|
||||
return builder.AddRemoteScheme<TwitterOptions, TwitterHandler>(authenticationScheme, authenticationScheme, configureOptions);
|
||||
return builder.AddRemoteScheme<TwitterOptions, TwitterHandler>(authenticationScheme, displayName, configureOptions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Authentication.OAuth
|
|||
var scheme = await schemeProvider.GetSchemeAsync("oauth");
|
||||
Assert.NotNull(scheme);
|
||||
Assert.Equal("OAuthHandler`1", scheme.HandlerType.Name);
|
||||
Assert.Equal("oauth", scheme.DisplayName);
|
||||
Assert.Equal(OAuthDefaults.DisplayName, scheme.DisplayName);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
|
|||
Loading…
Reference in New Issue