Skip to content

Commit 6bc7144

Browse files
committed
adding auth extension
1 parent ec6ac7e commit 6bc7144

3 files changed

Lines changed: 29 additions & 2 deletions

File tree

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
namespace Common;
2+
3+
using Microsoft.Extensions.DependencyInjection;
4+
using Microsoft.Extensions.Hosting;
5+
6+
public static class AuthenticationExtension
7+
{
8+
public static IHostBuilder AddAuthentication(this IHostBuilder hostBuilder)
9+
{
10+
11+
hostBuilder.AddConfiguration<AuthConfig>();
12+
hostBuilder.ConfigureServices((context, services) =>
13+
{
14+
services.AddSingleton<IAuthenticationService, JWTAuthentication>();
15+
});
16+
return hostBuilder;
17+
}
18+
}

application/CohortManager/src/Functions/screeningDataServices/GetValidationExceptions/GetValidationExceptions.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ public class GetValidationExceptions
2424
private readonly IValidationExceptionData _validationData;
2525
private readonly IHttpParserHelper _httpParserHelper;
2626
private readonly IPaginationService<ValidationException> _paginationService;
27+
private readonly IAuthenticationService _authenticationService;
2728

28-
public GetValidationExceptions(ILogger<GetValidationExceptions> logger, ICreateResponse createResponse, IValidationExceptionData validationData, IHttpParserHelper httpParserHelper, IPaginationService<ValidationException> paginationService)
29+
public GetValidationExceptions(ILogger<GetValidationExceptions> logger, ICreateResponse createResponse, IValidationExceptionData validationData, IHttpParserHelper httpParserHelper, IPaginationService<ValidationException> paginationService, IAuthenticationService authenticationService)
2930
{
3031
_logger = logger;
3132
_createResponse = createResponse;
3233
_validationData = validationData;
3334
_httpParserHelper = httpParserHelper;
35+
_authenticationService = authenticationService;
3436
_paginationService = paginationService;
3537
}
3638

@@ -58,6 +60,13 @@ public async Task<HttpResponseData> Run([HttpTrigger(AuthorizationLevel.Anonymou
5860
var ruleId = _httpParserHelper.GetQueryParameterAsNullableInt(req, "ruleId");
5961
var dateCreated = _httpParserHelper.GetQueryParameterAsDateTime(req, "dateCreated");
6062

63+
var validated = await _authenticationService.ValidateAccess(req);
64+
65+
if(!validated)
66+
{
67+
return _createResponse.CreateHttpResponse(HttpStatusCode.Unauthorized, req, "Unauthorized access.");
68+
}
69+
6170
try
6271
{
6372
if (exceptionId > 0)

application/CohortManager/src/Functions/screeningDataServices/GetValidationExceptions/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
.AddDataServicesHandler()
1515
.AddDataService<ExceptionManagement>(config.ExceptionManagementDataServiceURL)
1616
.AddDataService<ParticipantDemographic>(config.DemographicDataServiceURL)
17-
1817
.Build()
18+
.AddAuthentication()
1919
.ConfigureServices(services =>
2020
{
2121
services.AddTransient<IValidationExceptionData, ValidationExceptionData>();

0 commit comments

Comments
 (0)