Skip to content

Commit 3382e4c

Browse files
author
Vadim Belov
committed
Add optional useCookies param to AddJwt extension
Add useCookies parameter to AddJwt for reading JWT from cookies if not found in query string. Update XML docs and token extraction logic to support this behavior.
1 parent 501d736 commit 3382e4c

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

Sources/EasyExtensions.AspNetCore.Authorization/Extensions/ServiceCollectionExtensions.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public static class ServiceCollectionExtensions
3131
/// Reads settings from JwtSettings section or flat fallback Jwt[Key] configuration values (see <see cref="ConfigurationExtensions.GetJwtSettings"/>).
3232
/// </summary>
3333
/// <param name="services"><see cref="IServiceCollection"/> instance.</param>
34+
/// <param name="useCookies">If <c>true</c>, JWT token will be read from cookies (if not found in query string).</param>
3435
/// <returns>Current <see cref="IServiceCollection"/> instance.</returns>
3536
/// <exception cref="KeyNotFoundException">When required JWT settings are missing.</exception>
3637
/// <remarks>
@@ -67,7 +68,7 @@ public static class ServiceCollectionExtensions
6768
/// <item><description><c>RequireHttpsMetadata = false</c> (adjust in production if needed).</description></item>
6869
/// </list>
6970
/// </remarks>
70-
public static IServiceCollection AddJwt(this IServiceCollection services)
71+
public static IServiceCollection AddJwt(this IServiceCollection services, bool useCookies = false)
7172
{
7273
services.AddScoped<ITokenProvider, JwtTokenProvider>();
7374
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
@@ -102,7 +103,7 @@ public static IServiceCollection AddJwt(this IServiceCollection services)
102103
{
103104
context.Token = accessToken;
104105
}
105-
if (string.IsNullOrWhiteSpace(context.Token))
106+
else if (useCookies && string.IsNullOrWhiteSpace(context.Token))
106107
{
107108
string? cookieToken = context.Request.Cookies[AccessTokenParamName];
108109
if (!string.IsNullOrEmpty(cookieToken))

0 commit comments

Comments
 (0)