- Move all .NET (6 projects, solution, Directory.*.props, nuget.config) into backend/ so the monorepo root can host non-.NET projects later - Remove throwaway test artifacts: player.html, pl.json - Trim dead Flutter rules from .gitignore Build from backend/Musify.slnx: 0 warnings, 0 errors.
32 lines
1005 B
C#
32 lines
1005 B
C#
using Microsoft.AspNetCore.Authentication.JwtBearer;
|
|
using Microsoft.Extensions.Options;
|
|
|
|
namespace Musify.Api.Authentication;
|
|
|
|
public static class AuthenticationExtensions
|
|
{
|
|
public static IServiceCollection AddAuthenticationConfiguration(
|
|
this IServiceCollection services,
|
|
IConfiguration configuration)
|
|
{
|
|
services
|
|
.AddOptionsWithValidateOnStart<AuthenticationConfiguration>()
|
|
.Bind(configuration.GetRequiredSection(AuthenticationConfiguration.SectionName))
|
|
.ValidateDataAnnotations();
|
|
|
|
services.AddSingleton(serviceProvider =>
|
|
serviceProvider.GetRequiredService<IOptions<AuthenticationConfiguration>>().Value);
|
|
|
|
services.AddScoped<JwtBearerEventsHandler>();
|
|
services.ConfigureOptions<JwtBearerOptionsSetup>();
|
|
|
|
services
|
|
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
|
|
.AddJwtBearer();
|
|
|
|
services.AddAuthorization();
|
|
|
|
return services;
|
|
}
|
|
}
|