Skip to content

Commit 9d7c3af

Browse files
authored
[Mvc] Adds SignIn and SignOut method overloads without authentication scheme to ControllerBase (#23604)
1 parent f0bb131 commit 9d7c3af

File tree

4 files changed

+81
-1
lines changed

4 files changed

+81
-1
lines changed

src/Mvc/Mvc.Core/ref/Microsoft.AspNetCore.Mvc.Core.netcoreapp.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,10 +541,18 @@ protected ControllerBase() { }
541541
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
542542
public virtual Microsoft.AspNetCore.Mvc.RedirectToRouteResult RedirectToRoutePreserveMethod(string routeName = null, object routeValues = null, string fragment = null) { throw null; }
543543
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
544+
public virtual Microsoft.AspNetCore.Mvc.SignInResult SignIn(System.Security.Claims.ClaimsPrincipal principal) { throw null; }
545+
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
546+
public virtual Microsoft.AspNetCore.Mvc.SignInResult SignIn(System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; }
547+
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
544548
public virtual Microsoft.AspNetCore.Mvc.SignInResult SignIn(System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, string authenticationScheme) { throw null; }
545549
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
546550
public virtual Microsoft.AspNetCore.Mvc.SignInResult SignIn(System.Security.Claims.ClaimsPrincipal principal, string authenticationScheme) { throw null; }
547551
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
552+
public virtual Microsoft.AspNetCore.Mvc.SignOutResult SignOut() { throw null; }
553+
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
554+
public virtual Microsoft.AspNetCore.Mvc.SignOutResult SignOut(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { throw null; }
555+
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
548556
public virtual Microsoft.AspNetCore.Mvc.SignOutResult SignOut(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties, params string[] authenticationSchemes) { throw null; }
549557
[Microsoft.AspNetCore.Mvc.NonActionAttribute]
550558
public virtual Microsoft.AspNetCore.Mvc.SignOutResult SignOut(params string[] authenticationSchemes) { throw null; }
@@ -1170,6 +1178,8 @@ public ServiceFilterAttribute(System.Type type) { }
11701178
}
11711179
public partial class SignInResult : Microsoft.AspNetCore.Mvc.ActionResult
11721180
{
1181+
public SignInResult(System.Security.Claims.ClaimsPrincipal principal) { }
1182+
public SignInResult(System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { }
11731183
public SignInResult(string authenticationScheme, System.Security.Claims.ClaimsPrincipal principal) { }
11741184
public SignInResult(string authenticationScheme, System.Security.Claims.ClaimsPrincipal principal, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { }
11751185
public string AuthenticationScheme { [System.Runtime.CompilerServices.CompilerGeneratedAttribute] get { throw null; } [System.Runtime.CompilerServices.CompilerGeneratedAttribute] set { } }
@@ -1181,6 +1191,7 @@ public SignInResult(string authenticationScheme, System.Security.Claims.ClaimsPr
11811191
public partial class SignOutResult : Microsoft.AspNetCore.Mvc.ActionResult
11821192
{
11831193
public SignOutResult() { }
1194+
public SignOutResult(Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { }
11841195
public SignOutResult(System.Collections.Generic.IList<string> authenticationSchemes) { }
11851196
public SignOutResult(System.Collections.Generic.IList<string> authenticationSchemes, Microsoft.AspNetCore.Authentication.AuthenticationProperties properties) { }
11861197
public SignOutResult(string authenticationScheme) { }

src/Mvc/Mvc.Core/src/ControllerBase.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2386,6 +2386,15 @@ public virtual ForbidResult Forbid(AuthenticationProperties properties)
23862386
public virtual ForbidResult Forbid(AuthenticationProperties properties, params string[] authenticationSchemes)
23872387
=> new ForbidResult(authenticationSchemes, properties);
23882388

2389+
/// <summary>
2390+
/// Creates a <see cref="SignInResult"/>.
2391+
/// </summary>
2392+
/// <param name="principal">The <see cref="ClaimsPrincipal"/> containing the user claims.</param>
2393+
/// <returns>The created <see cref="SignInResult"/> for the response.</returns>
2394+
[NonAction]
2395+
public virtual SignInResult SignIn(ClaimsPrincipal principal)
2396+
=> new SignInResult(principal);
2397+
23892398
/// <summary>
23902399
/// Creates a <see cref="SignInResult"/> with the specified authentication scheme.
23912400
/// </summary>
@@ -2396,6 +2405,18 @@ public virtual ForbidResult Forbid(AuthenticationProperties properties, params s
23962405
public virtual SignInResult SignIn(ClaimsPrincipal principal, string authenticationScheme)
23972406
=> new SignInResult(authenticationScheme, principal);
23982407

2408+
/// <summary>
2409+
/// Creates a <see cref="SignInResult"/> with <paramref name="properties"/>.
2410+
/// </summary>
2411+
/// <param name="principal">The <see cref="ClaimsPrincipal"/> containing the user claims.</param>
2412+
/// <param name="properties"><see cref="AuthenticationProperties"/> used to perform the sign-in operation.</param>
2413+
/// <returns>The created <see cref="SignInResult"/> for the response.</returns>
2414+
[NonAction]
2415+
public virtual SignInResult SignIn(
2416+
ClaimsPrincipal principal,
2417+
AuthenticationProperties properties)
2418+
=> new SignInResult(principal, properties);
2419+
23992420
/// <summary>
24002421
/// Creates a <see cref="SignInResult"/> with the specified authentication scheme and
24012422
/// <paramref name="properties" />.
@@ -2411,6 +2432,23 @@ public virtual SignInResult SignIn(
24112432
string authenticationScheme)
24122433
=> new SignInResult(authenticationScheme, principal, properties);
24132434

2435+
/// <summary>
2436+
/// Creates a <see cref="SignOutResult"/>.
2437+
/// </summary>
2438+
/// <returns>The created <see cref="SignOutResult"/> for the response.</returns>
2439+
[NonAction]
2440+
public virtual SignOutResult SignOut()
2441+
=> new SignOutResult();
2442+
2443+
/// <summary>
2444+
/// Creates a <see cref="SignOutResult"/> with <paramref name="properties"/>.
2445+
/// </summary>
2446+
/// <param name="properties"><see cref="AuthenticationProperties"/> used to perform the sign-out operation.</param>
2447+
/// <returns>The created <see cref="SignOutResult"/> for the response.</returns>
2448+
[NonAction]
2449+
public virtual SignOutResult SignOut(AuthenticationProperties properties)
2450+
=> new SignOutResult(properties);
2451+
24142452
/// <summary>
24152453
/// Creates a <see cref="SignOutResult"/> with the specified authentication schemes.
24162454
/// </summary>

src/Mvc/Mvc.Core/src/SignInResult.cs

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@ namespace Microsoft.AspNetCore.Mvc
1616
/// </summary>
1717
public class SignInResult : ActionResult
1818
{
19+
/// <summary>
20+
/// Initializes a new instance of <see cref="SignInResult"/> with the
21+
/// default authentication scheme.
22+
/// </summary>
23+
/// <param name="principal">The claims principal containing the user claims.</param>
24+
public SignInResult(ClaimsPrincipal principal)
25+
: this(authenticationScheme: null, principal, properties: null)
26+
{
27+
}
28+
1929
/// <summary>
2030
/// Initializes a new instance of <see cref="SignInResult"/> with the
2131
/// specified authentication scheme.
@@ -27,6 +37,17 @@ public SignInResult(string authenticationScheme, ClaimsPrincipal principal)
2737
{
2838
}
2939

40+
/// <summary>
41+
/// Initializes a new instance of <see cref="SignInResult"/> with the
42+
/// default authentication scheme and <paramref name="properties"/>.
43+
/// </summary>
44+
/// <param name="principal">The claims principal containing the user claims.</param>
45+
/// <param name="properties"><see cref="AuthenticationProperties"/> used to perform the sign-in operation.</param>
46+
public SignInResult(ClaimsPrincipal principal, AuthenticationProperties properties)
47+
: this(authenticationScheme: null, principal, properties)
48+
{
49+
}
50+
3051
/// <summary>
3152
/// Initializes a new instance of <see cref="SignInResult"/> with the
3253
/// specified authentication scheme and <paramref name="properties"/>.
@@ -36,8 +57,8 @@ public SignInResult(string authenticationScheme, ClaimsPrincipal principal)
3657
/// <param name="properties"><see cref="AuthenticationProperties"/> used to perform the sign-in operation.</param>
3758
public SignInResult(string authenticationScheme, ClaimsPrincipal principal, AuthenticationProperties properties)
3859
{
39-
AuthenticationScheme = authenticationScheme ?? throw new ArgumentNullException(nameof(authenticationScheme));
4060
Principal = principal ?? throw new ArgumentNullException(nameof(principal));
61+
AuthenticationScheme = authenticationScheme;
4162
Properties = properties;
4263
}
4364

src/Mvc/Mvc.Core/src/SignOutResult.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,16 @@ public SignOutResult()
2424
{
2525
}
2626

27+
/// <summary>
28+
/// Initializes a new instance of <see cref="SignOutResult"/> with the default sign out scheme.
29+
/// specified authentication scheme and <paramref name="properties"/>.
30+
/// </summary>
31+
/// <param name="properties"><see cref="AuthenticationProperties"/> used to perform the sign-out operation.</param>
32+
public SignOutResult(AuthenticationProperties properties)
33+
: this(Array.Empty<string>(), properties)
34+
{
35+
}
36+
2737
/// <summary>
2838
/// Initializes a new instance of <see cref="SignOutResult"/> with the
2939
/// specified authentication scheme.

0 commit comments

Comments
 (0)