Skip to content

Commit 54531fe

Browse files
Merge pull request #298 from jeffreysSharp/develop
#278 - Implementando o JWK nas demais API's - feature/sp8/#278
2 parents 23f4017 + 009f073 commit 54531fe

File tree

13 files changed

+34
-62
lines changed

13 files changed

+34
-62
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
- NetDevPack
3636
- Facade
3737
- Elastic Search
38+
- JWK e JWKS
3839

3940
# Ferramentas
4041
- Visual Studio 2022 - Version 17.11.4 ++
@@ -51,4 +52,4 @@
5152
- [x] API Gateway / BFF - Compras
5253
- [X] Aplicação de Voucher
5354
- [X] Pedidos
54-
- [ ] Pagamentos
55+
- [x] Pagamentos

src/api gateways/JSE.Bff.Compras/appsettings.Development.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
},
2020

2121
"AppSettings": {
22-
"Secret": "F9F52344-59C3-4EAC-90E6-CB47935038BE",
23-
"ExpirationHours": 2,
24-
"Issuer": "MeuSistema",
25-
"ValidOn": "https://localhost"
22+
"AutenticacaoJwksUrl": "https://localhost:44396/jwks"
2623
}
24+
2725
}

src/building blocks/JSE.WebAPI.Core/IdentityConfiguration/AppSettings.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
{
33
public class AppSettings
44
{
5-
public string Secret { get; set; }
6-
public int ExpirationHours { get; set; }
7-
public string Issuer { get; set; }
8-
public string ValidOn { get; set; }
5+
public string AutenticacaoJwksUrl{ get; set; }
96
}
107
}

src/building blocks/JSE.WebAPI.Core/IdentityConfiguration/JwtConfiguration.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
using Microsoft.AspNetCore.Builder;
33
using Microsoft.Extensions.Configuration;
44
using Microsoft.Extensions.DependencyInjection;
5-
using Microsoft.IdentityModel.Tokens;
6-
using System.Text;
5+
using NetDevPack.Security.JwtExtensions;
76

87
namespace JSE.WebAPI.Core.IdentityConfiguration
98
{
@@ -16,7 +15,6 @@ public static void AddJwtConfiguration(this IServiceCollection services,
1615
services.Configure<AppSettings>(appSettingsSection);
1716

1817
var appSettings = appSettingsSection.Get<AppSettings>();
19-
var key = Encoding.ASCII.GetBytes(appSettings.Secret);
2018

2119
services.AddAuthentication(x =>
2220
{
@@ -26,15 +24,7 @@ public static void AddJwtConfiguration(this IServiceCollection services,
2624
{
2725
x.RequireHttpsMetadata = true;
2826
x.SaveToken = true;
29-
x.TokenValidationParameters = new TokenValidationParameters
30-
{
31-
ValidateIssuerSigningKey = true,
32-
IssuerSigningKey = new SymmetricSecurityKey(key),
33-
ValidateIssuer = true,
34-
ValidateAudience = true,
35-
ValidAudience = appSettings.ValidOn,
36-
ValidIssuer = appSettings.Issuer
37-
};
27+
x.SetJwksOptions(new JwkOptions(appSettings.AutenticacaoJwksUrl));
3828
});
3929
}
4030

src/building blocks/JSE.WebAPI.Core/JSE.WebAPI.Core.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.10" />
1313
<PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="6.0.1" />
1414
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="8.0.10" />
15+
<PackageReference Include="NetDevPack.Security.JwtExtensions" Version="8.0.0" />
1516
</ItemGroup>
1617

1718
<ItemGroup>

src/services/JSE.Carrinho.API/appsettings.Development.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
"ConnectionStrings": {
33
"DefaultConnection": "Server=.\\SQLEXPRESS;Database=JeffStoreEnterprise;User Id=sa;Password=Asd123!!;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=True;"
44
},
5+
56
"MessageQueueConnection": {
67
"MessageBus": "host=localhost:5672;publisherConfirms=true;timeout=10"
78
},
9+
810
"Logging": {
911
"LogLevel": {
1012
"Default": "Information",
1113
"Microsoft.AspNetCore": "Warning"
1214
}
1315
},
16+
1417
"AppSettings": {
15-
"Secret": "F9F52344-59C3-4EAC-90E6-CB47935038BE",
16-
"ExpirationHours": 2,
17-
"Issuer": "MeuSistema",
18-
"ValidOn": "https://localhost"
18+
"AutenticacaoJwksUrl": "https://localhost:44396/jwks"
1919
}
2020
}

src/services/JSE.Catalogo.API/appsettings.Development.json

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,7 @@
1515
},
1616

1717
"AppSettings": {
18-
"Secret": "F9F52344-59C3-4EAC-90E6-CB47935038BE",
19-
"ExpirationHours": 2,
20-
"Issuer": "MeuSistema",
21-
"ValidOn": "https://localhost"
18+
"AutenticacaoJwksUrl": "https://localhost:44396/jwks"
2219
}
20+
2321
}
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
{
2-
"ConnectionStrings": {
3-
"DefaultConnection": "Server=.\\SQLEXPRESS;Database=JeffStoreEnterprise;User Id=sa;Password=Asd123!!;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=True;"
4-
},
5-
"MessageQueueConnection": {
6-
"MessageBus": "host=localhost:5672;publisherConfirms=true;timeout=10"
7-
},
82
"Logging": {
93
"LogLevel": {
104
"Default": "Information",
115
"Microsoft.AspNetCore": "Warning"
126
}
137
},
8+
9+
"ConnectionStrings": {
10+
"DefaultConnection": "Server=.\\SQLEXPRESS;Database=JeffStoreEnterprise;User Id=sa;Password=Asd123!!;Trusted_Connection=true;MultipleActiveResultSets=true;TrustServerCertificate=True;"
11+
},
12+
13+
"MessageQueueConnection": {
14+
"MessageBus": "host=localhost:5672;publisherConfirms=true;timeout=10"
15+
},
16+
1417
"AppSettings": {
15-
"Secret": "F9F52344-59C3-4EAC-90E6-CB47935038BE",
16-
"ExpirationHours": 2,
17-
"Issuer": "MeuSistema",
18-
"ValidOn": "https://localhost"
18+
"AutenticacaoJwksUrl": "https://localhost:44396/jwks"
1919
}
2020
}

src/services/JSE.Identidade.API/Configuration/IdentityConfig.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using JSE.Identidade.API.Data;
22
using JSE.Identidade.API.Extensions;
3-
using JSE.WebAPI.Core.IdentityConfiguration;
43
using Microsoft.AspNetCore.Identity;
54
using Microsoft.EntityFrameworkCore;
65
using NetDevPack.Security.JwtSigningCredentials;
@@ -25,8 +24,6 @@ public static IServiceCollection AddIdentityConfiguration(this IServiceCollectio
2524
.AddEntityFrameworkStores<ApplicationDbContext>()
2625
.AddDefaultTokenProviders();
2726

28-
services.AddJwtConfiguration(configuration);
29-
3027
return services;
3128
}
3229
}

src/services/JSE.Identidade.API/Controllers/AuthController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ private UsuarioRespostaLoginViewModel ObterRespostaToken(string encodedToken, Id
155155
return new UsuarioRespostaLoginViewModel
156156
{
157157
AccessToken = encodedToken,
158-
ExpiresIn = TimeSpan.FromHours(_appSettings.ExpirationHours).TotalSeconds,
158+
ExpiresIn = TimeSpan.FromHours(1).TotalSeconds,
159159
UsuarioToken = new UsuarioTokenViewModel
160160
{
161161
Id = user.Id,

0 commit comments

Comments
 (0)