Adds Options for JwtAuthentication (30min prod - 1day dev)

This commit is contained in:
Jonathan Bourdon
2024-07-06 22:13:56 -04:00
parent eca4f60412
commit 256fa3df91
7 changed files with 41 additions and 22 deletions

View File

@@ -1,9 +1,5 @@
using System;
using System.Collections.Generic;
using Google.Apis.Oauth2.v2.Data;
using System.Security.Claims;
using System.Threading;
using System.Threading.Tasks;
using Hutopy.Application.Common.Interfaces;
using Hutopy.Application.Common.Models;
using Hutopy.Application.Users.Models;
@@ -12,7 +8,7 @@ using Hutopy.Infrastructure.Utils;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Options;
namespace Hutopy.Infrastructure.Identity;
@@ -22,7 +18,7 @@ public class IdentityService(
IUserClaimsPrincipalFactory<ApplicationUser> userClaimsPrincipalFactory,
IAuthorizationService authorizationService,
IHttpContextAccessor contextAccessor,
IConfiguration configuration
IOptionsSnapshot<JwtOptions> jwtOptions
)
: IIdentityService
{
@@ -424,13 +420,12 @@ public class IdentityService(
var user = await GetUserByUserNameAsync(userName);
if (user is null) throw new InvalidOperationException();
var jwtSection = configuration.GetRequiredSection("Authentication:Jwt");
var token = JwtTokenHelper.GenerateJwtToken(
issuer: jwtSection["Issuer"] ?? "",
audience: jwtSection["Audience"] ?? "",
key: jwtSection["Key"] ?? "",
expiresIn: jwtOptions.Value.Lifetime,
issuer: jwtOptions.Value.Issuer,
audience: jwtOptions.Value.Audience,
key: jwtOptions.Value.Key,
userId: user.Id,
email: user.Email,
firstname: user.FirstName,