diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Booking/Bookings/Features/CreatingBook/V1/CreateBooking.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Booking/Bookings/Features/CreatingBook/V1/CreateBooking.cs index b8e4253..7d1d6f6 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Booking/Bookings/Features/CreatingBook/V1/CreateBooking.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Booking/Bookings/Features/CreatingBook/V1/CreateBooking.cs @@ -11,6 +11,7 @@ using BuildingBlocks.Core.Event; using BuildingBlocks.Core.Model; using BuildingBlocks.EventStoreDB.Repository; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -51,7 +52,7 @@ public class CreateBookingEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateBooking") .WithApiVersionSet(builder.NewApiVersionSet("Booking").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs index 1ec450f..d33df28 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs @@ -6,6 +6,7 @@ using BookingMonolith.Flight.Data; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -49,7 +50,7 @@ public class CreateAircraftEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateAircraft") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Airports/Features/CreatingAirport/V1/CreateAirport.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Airports/Features/CreatingAirport/V1/CreateAirport.cs index c75ac54..53043f5 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Airports/Features/CreatingAirport/V1/CreateAirport.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Airports/Features/CreatingAirport/V1/CreateAirport.cs @@ -5,6 +5,7 @@ using BookingMonolith.Flight.Data; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -47,7 +48,7 @@ public class CreateAirportEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateAirport") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlight.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlight.cs index 825cd34..33968a1 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlight.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/CreatingFlight/V1/CreateFlight.cs @@ -7,6 +7,7 @@ using BookingMonolith.Flight.Flights.ValueObjects; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -55,7 +56,7 @@ public class CreateFlightEndpoint : IMinimalEndpoint return Results.CreatedAtRoute("GetFlightById", new { id = result.Id }, response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status201Created) diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/DeletingFlight/V1/DeleteFlight.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/DeletingFlight/V1/DeleteFlight.cs index 1c2eee4..1ef3177 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/DeletingFlight/V1/DeleteFlight.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/DeletingFlight/V1/DeleteFlight.cs @@ -4,6 +4,7 @@ using BookingMonolith.Flight.Flights.Exceptions; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using MediatR; using Microsoft.AspNetCore.Builder; @@ -44,7 +45,7 @@ public class DeleteFlightEndpoint : IMinimalEndpoint return Results.NoContent(); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("DeleteFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status204NoContent) diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs index d7f4516..2a3824b 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs @@ -5,6 +5,7 @@ using BookingMonolith.Flight.Flights.Exceptions; using BuildingBlocks.Caching; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using Mapster; using MapsterMapper; using MediatR; @@ -39,7 +40,7 @@ public class GetAvailableFlightsEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetAvailableFlights") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingFlightById/V1/GetFlightById.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingFlightById/V1/GetFlightById.cs index 45633e8..a77ef7b 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingFlightById/V1/GetFlightById.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/GettingFlightById/V1/GetFlightById.cs @@ -4,6 +4,7 @@ using BookingMonolith.Flight.Flights.Dtos; using BookingMonolith.Flight.Flights.Exceptions; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -35,7 +36,7 @@ public class GetFlightByIdEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetFlightById") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs index 1d78d5c..b432979 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs @@ -9,6 +9,7 @@ using BuildingBlocks.Caching; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using MapsterMapper; using MediatR; @@ -52,7 +53,7 @@ public class UpdateFlightEndpoint : IMinimalEndpoint return Results.NoContent(); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("UpdateFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status204NoContent) diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/CreatingSeat/V1/CreateSeat.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/CreatingSeat/V1/CreateSeat.cs index c4a8ac3..8cd7878 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/CreatingSeat/V1/CreateSeat.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/CreatingSeat/V1/CreateSeat.cs @@ -7,6 +7,7 @@ using BookingMonolith.Flight.Seats.ValueObjects; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -40,7 +41,7 @@ public class CreateSeatEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapPost($"{EndpointConfig.BaseApiPath}/flight/seat", CreateSeat) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateSeat") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs index 413df97..65b3608 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs @@ -4,6 +4,7 @@ using BookingMonolith.Flight.Seats.Dtos; using BookingMonolith.Flight.Seats.Exceptions; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -27,7 +28,7 @@ public class GetAvailableSeatsEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapGet($"{EndpointConfig.BaseApiPath}/flight/get-available-seats/{{id}}", GetAvailableSeats) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetAvailableSeats") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/ReservingSeat/V1/ReserveSeat.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/ReservingSeat/V1/ReserveSeat.cs index 09fd7e1..6e57e61 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/ReservingSeat/V1/ReserveSeat.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Flight/Seats/Features/ReservingSeat/V1/ReserveSeat.cs @@ -4,6 +4,7 @@ using BookingMonolith.Flight.Seats.Exceptions; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -31,7 +32,7 @@ public class ReserveSeatEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapPost($"{EndpointConfig.BaseApiPath}/flight/reserve-seat", ReserveSeat) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("ReserveSeat") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Identity/Identities/Features/RegisteringNewUser/V1/RegisterNewUser.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Identity/Identities/Features/RegisteringNewUser/V1/RegisterNewUser.cs index 112ec2c..c578a6c 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Identity/Identities/Features/RegisteringNewUser/V1/RegisterNewUser.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Identity/Identities/Features/RegisteringNewUser/V1/RegisterNewUser.cs @@ -5,6 +5,7 @@ using BuildingBlocks.Contracts.EventBus.Messages; using BuildingBlocks.Core; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -43,7 +44,7 @@ public class RegisterNewUserEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("RegisterUser") .WithApiVersionSet(builder.NewApiVersionSet("Identity").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs index a590df9..7da4ef2 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs @@ -6,6 +6,7 @@ using BookingMonolith.Passenger.Passengers.ValueObjects; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Core.Event; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -50,7 +51,7 @@ public class CompleteRegisterPassengerEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CompleteRegisterPassenger") .WithApiVersionSet(builder.NewApiVersionSet("Passenger").Build()) .Produces() diff --git a/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs b/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs index d427566..b70788b 100644 --- a/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs +++ b/1-monolith-architecture-style/src/BookingMonolith/src/Passenger/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs @@ -4,6 +4,7 @@ using BookingMonolith.Passenger.Passengers.Dtos; using BookingMonolith.Passenger.Passengers.Exceptions; using BuildingBlocks.Core.CQRS; using BuildingBlocks.Web; +using Duende.IdentityServer.EntityFramework.Entities; using FluentValidation; using Mapster; using MapsterMapper; @@ -35,7 +36,7 @@ public class GetPassengerByIdEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetPassengerById") .WithApiVersionSet(builder.NewApiVersionSet("Passenger").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Booking/src/Booking/Features/CreatingBook/V1/CreateBooking.cs b/2-modular-monolith-architecture-style/src/Modules/Booking/src/Booking/Features/CreatingBook/V1/CreateBooking.cs index 9975930..bde40c0 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Booking/src/Booking/Features/CreatingBook/V1/CreateBooking.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Booking/src/Booking/Features/CreatingBook/V1/CreateBooking.cs @@ -50,7 +50,7 @@ public class CreateBookingEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateBooking") .WithApiVersionSet(builder.NewApiVersionSet("Booking").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs index 4a97cdf..ff9b266 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Aircrafts/Features/CreatingAircraft/V1/CreateAircraft.cs @@ -54,7 +54,7 @@ public class CreateAircraftEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateAircraft") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Airports/Features/CreatingAirport/V1/CreateAirport.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Airports/Features/CreatingAirport/V1/CreateAirport.cs index 8c5912b..580f9c7 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Airports/Features/CreatingAirport/V1/CreateAirport.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Airports/Features/CreatingAirport/V1/CreateAirport.cs @@ -51,7 +51,7 @@ public class CreateAirportEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateAirport") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/CreatingFlight/V1/CreateFlight.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/CreatingFlight/V1/CreateFlight.cs index 5f4a05b..e0a3d99 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/CreatingFlight/V1/CreateFlight.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/CreatingFlight/V1/CreateFlight.cs @@ -59,7 +59,7 @@ public class CreateFlightEndpoint : IMinimalEndpoint return Results.CreatedAtRoute("GetFlightById", new { id = result.Id }, response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status201Created) diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/DeletingFlight/V1/DeleteFlight.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/DeletingFlight/V1/DeleteFlight.cs index ebb0931..3f82d40 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/DeletingFlight/V1/DeleteFlight.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/DeletingFlight/V1/DeleteFlight.cs @@ -45,7 +45,7 @@ public class DeleteFlightEndpoint : IMinimalEndpoint return Results.NoContent(); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("DeleteFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status204NoContent) diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs index 1dc6071..73d435e 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingAvailableFlights/V1/GetAvailableFlights.cs @@ -46,7 +46,7 @@ public class GetAvailableFlightsEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetAvailableFlights") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingFlightById/V1/GetFlightById.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingFlightById/V1/GetFlightById.cs index 7b0cf8a..5f01b14 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingFlightById/V1/GetFlightById.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/GettingFlightById/V1/GetFlightById.cs @@ -39,7 +39,7 @@ public class GetFlightByIdEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetFlightById") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs index 25b6159..242f951 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Flights/Features/UpdatingFlight/V1/UpdateFlight.cs @@ -56,7 +56,7 @@ public class UpdateFlightEndpoint : IMinimalEndpoint return Results.NoContent(); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("UpdateFlight") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces(StatusCodes.Status204NoContent) diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/CreatingSeat/V1/CreateSeat.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/CreatingSeat/V1/CreateSeat.cs index 35e7da9..1ab80ff 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/CreatingSeat/V1/CreateSeat.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/CreatingSeat/V1/CreateSeat.cs @@ -44,7 +44,7 @@ public class CreateSeatEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapPost($"{EndpointConfig.BaseApiPath}/flight/seat", CreateSeat) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CreateSeat") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs index 1470d13..2470176 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/GettingAvailableSeats/V1/GetAvailableSeats.cs @@ -34,7 +34,7 @@ public class GetAvailableSeatsEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapGet($"{EndpointConfig.BaseApiPath}/flight/get-available-seats/{{id}}", GetAvailableSeats) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetAvailableSeats") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/ReservingSeat/V1/ReserveSeat.cs b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/ReservingSeat/V1/ReserveSeat.cs index 04d179a..4123393 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/ReservingSeat/V1/ReserveSeat.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Flight/src/Seats/Features/ReservingSeat/V1/ReserveSeat.cs @@ -35,7 +35,7 @@ public class ReserveSeatEndpoint : IMinimalEndpoint public IEndpointRouteBuilder MapEndpoint(IEndpointRouteBuilder builder) { builder.MapPost($"{EndpointConfig.BaseApiPath}/flight/reserve-seat", ReserveSeat) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("ReserveSeat") .WithApiVersionSet(builder.NewApiVersionSet("Flight").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Identity/src/Identity/Features/RegisteringNewUser/V1/RegisterNewUser.cs b/2-modular-monolith-architecture-style/src/Modules/Identity/src/Identity/Features/RegisteringNewUser/V1/RegisterNewUser.cs index ead4de7..3ed9851 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Identity/src/Identity/Features/RegisteringNewUser/V1/RegisterNewUser.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Identity/src/Identity/Features/RegisteringNewUser/V1/RegisterNewUser.cs @@ -1,3 +1,5 @@ +using Duende.IdentityServer.EntityFramework.Entities; + namespace Identity.Identity.Features.RegisteringNewUser.V1; using System; @@ -47,7 +49,7 @@ public class RegisterNewUserEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("RegisterUser") .WithApiVersionSet(builder.NewApiVersionSet("Identity").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs b/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs index 1066b32..1bd257d 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/CompletingRegisterPassenger/V1/CompleteRegisterPassenger.cs @@ -41,7 +41,7 @@ public class CompleteRegisterPassengerEndpoint : IMinimalEndpoint { builder.MapPost($"{EndpointConfig.BaseApiPath}/passenger/complete-registration", async ( CompleteRegisterPassengerRequestDto request, IMapper mapper, - IMediator mediator, CancellationToken cancellationToken) => + IMediator mediator, CancellationToken cancellationToken, IHttpContextAccessor httpContextAccessor) => { var command = mapper.Map(request); @@ -51,7 +51,7 @@ public class CompleteRegisterPassengerEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("CompleteRegisterPassenger") .WithApiVersionSet(builder.NewApiVersionSet("Passenger").Build()) .Produces() diff --git a/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs b/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs index e30bcda..2b36d5f 100644 --- a/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs +++ b/2-modular-monolith-architecture-style/src/Modules/Passenger/src/Passengers/Features/GettingPassengerById/V1/GetPassengerById.cs @@ -36,7 +36,7 @@ public class GetPassengerByIdEndpoint : IMinimalEndpoint return Results.Ok(response); }) - .RequireAuthorization() + .RequireAuthorization(nameof(ApiScope)) .WithName("GetPassengerById") .WithApiVersionSet(builder.NewApiVersionSet("Passenger").Build()) .Produces() diff --git a/building-blocks/Jwt/JwtExtensions.cs b/building-blocks/Jwt/JwtExtensions.cs index cea1529..ba6c0ac 100644 --- a/building-blocks/Jwt/JwtExtensions.cs +++ b/building-blocks/Jwt/JwtExtensions.cs @@ -1,5 +1,6 @@ using BuildingBlocks.Web; using Microsoft.AspNetCore.Authentication.JwtBearer; +using Microsoft.AspNetCore.Authorization; using Microsoft.Extensions.DependencyInjection; namespace BuildingBlocks.Jwt; @@ -40,13 +41,28 @@ public static class JwtExtensions { services.AddAuthorization( options => - options.AddPolicy( - nameof(ApiScope), - policy => - { - policy.RequireAuthenticatedUser(); - policy.RequireClaim("scope", jwtOptions.Audience); - })); + { + // Set JWT as the default scheme for all [Authorize] attributes + options.DefaultPolicy = + new AuthorizationPolicyBuilder(JwtBearerDefaults.AuthenticationScheme) + .RequireAuthenticatedUser() + .Build(); + + // Add your scope policy (optional) + if (!string.IsNullOrEmpty(jwtOptions.Audience)) + { + options.AddPolicy( + nameof(ApiScope), + policy => + { + policy.AuthenticationSchemes.Add( + JwtBearerDefaults.AuthenticationScheme); + + policy.RequireAuthenticatedUser(); + policy.RequireClaim("scope", jwtOptions.Audience); + }); + } + }); } return services;