Skip to content

Commit 6c726bb

Browse files
committed
fix: declarative extensions
1 parent afe8269 commit 6c726bb

File tree

4 files changed

+37
-16
lines changed

4 files changed

+37
-16
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ It's possible to configure some aspects of token
101101
You will need to set a single dependency in your Authentication Controller:
102102

103103
```csharp
104-
105104
public AuthController(IJwtBuilder jwtBuilder)
106105
{
107106
_jwtBuilder = jwtBuilder;

src/NetDevPack.Identity/Jwt/Abstractions.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,6 @@ public static IServiceCollection AddJwtConfiguration(this IServiceCollection ser
3838
ValidIssuer = appSettings.Issuer,
3939
};
4040
});
41-
services.AddDataProtection();
42-
services.AddJwksManager().UseJwtValidation();
4341
}
4442

4543
return services;

src/NetDevPack.Identity/JwtBuilderExtensions.cs

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,31 +12,57 @@ namespace Microsoft.Extensions.DependencyInjection;
1212

1313
public static class JwtBuilderExtensions
1414
{
15-
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser, TKey>(this IServiceCollection services, Action<JwtOptions> options = null)
16-
where TIdentityUser : IdentityUser<TKey> where TKey : IEquatable<TKey>
15+
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser, TKey>(this IServiceCollection services, Action<JwtOptions> options = null)
16+
where TIdentityUser : IdentityUser<TKey>
17+
where TKey : IEquatable<TKey>
1718
{
18-
services.AddDataProtection();
19+
services.AddHttpContextAccessor();
1920
services.AddScoped<IJwtBuilder, JwtBuilderInject<TIdentityUser, TKey>>();
20-
return services.AddHttpContextAccessor().AddJwksManager();
21+
return services.AddJwksManager(options);
2122
}
22-
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser>(this IServiceCollection services, Action<JwtOptions> options = null)
23+
24+
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser>(this IServiceCollection services, Action<JwtOptions> options = null)
2325
where TIdentityUser : IdentityUser
2426
{
25-
services.AddDataProtection();
27+
services.AddHttpContextAccessor();
2628
services.AddScoped<IJwtBuilder, JwtBuilderInject<TIdentityUser, string>>();
27-
return services.AddHttpContextAccessor().AddJwksManager();
29+
return services.AddJwksManager(options);
2830
}
31+
2932
public static IJwksBuilder AddNetDevPackIdentity(this IServiceCollection services, Action<JwtOptions> options = null)
3033
{
31-
services.AddDataProtection();
34+
services.AddHttpContextAccessor();
3235
services.AddScoped<IJwtBuilder, JwtBuilderInject<IdentityUser, string>>();
33-
return services.AddHttpContextAccessor().AddJwksManager(options);
36+
return services.AddJwksManager(options);
37+
}
38+
39+
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser, TKey>(this IJwksBuilder services)
40+
where TIdentityUser : IdentityUser<TKey>
41+
where TKey : IEquatable<TKey>
42+
{
43+
services.Services.AddHttpContextAccessor();
44+
services.Services.AddScoped<IJwtBuilder, JwtBuilderInject<TIdentityUser, TKey>>();
45+
return services;
46+
}
47+
48+
public static IJwksBuilder AddNetDevPackIdentity<TIdentityUser>(this IJwksBuilder services)
49+
where TIdentityUser : IdentityUser
50+
{
51+
services.Services.AddHttpContextAccessor();
52+
services.Services.AddScoped<IJwtBuilder, JwtBuilderInject<TIdentityUser, string>>();
53+
return services;
54+
}
55+
56+
public static IJwksBuilder AddNetDevPackIdentity(this IJwksBuilder services)
57+
{
58+
services.Services.AddHttpContextAccessor();
59+
services.Services.AddScoped<IJwtBuilder, JwtBuilderInject<IdentityUser, string>>();
60+
return services;
3461
}
3562

3663
public static IdentityBuilder AddIdentityConfiguration(this IServiceCollection services)
3764
{
3865
if (services == null) throw new ArgumentException(nameof(services));
39-
services.AddNetDevPackIdentity();
4066

4167
return services
4268
.AddIdentity<IdentityUser, IdentityRole>()
@@ -47,7 +73,6 @@ public static IdentityBuilder AddIdentityConfiguration(this IServiceCollection s
4773
public static IdentityBuilder AddDefaultIdentity(this IServiceCollection services, Action<IdentityOptions> options = null)
4874
{
4975
if (services == null) throw new ArgumentException(nameof(services));
50-
services.AddNetDevPackIdentity<IdentityUser>();
5176
return services
5277
.AddIdentity<IdentityUser, IdentityRole>()
5378
.AddDefaultTokenProviders();
@@ -67,7 +92,6 @@ public static IdentityBuilder AddCustomIdentity<TIdentityUser, TKey>(this IServi
6792
where TKey : IEquatable<TKey>
6893
{
6994
if (services == null) throw new ArgumentException(nameof(services));
70-
services.AddNetDevPackIdentity<TIdentityUser, TKey>();
7195
return services.AddIdentity<TIdentityUser, IdentityRole<TKey>>(options)
7296
.AddDefaultTokenProviders();
7397
}

src/Samples/AspNetCore.Jwt.Sample/Config/CustomIdentityAndKeyConfig.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public static void AddCustomIdentityAndKeyConfiguration(this IServiceCollection
2727
.AddDefaultTokenProviders();
2828

2929
// Ours JWT configuration
30-
services.AddJwtConfiguration(configuration);
30+
services.AddJwtConfiguration(configuration).AddNetDevPackIdentity<MyIntIdentityUser, int>();
3131
}
3232
}
3333

0 commit comments

Comments
 (0)