Skip to content

Commit 932f7a6

Browse files
author
Tom Moore
committed
Updates to allow for SSO auth via IAM Identity Center. Updates to make the app more friendly to ME for testing.
1 parent 0d47c09 commit 932f7a6

File tree

5 files changed

+33
-28
lines changed

5 files changed

+33
-28
lines changed

SampleApplications/2022/MediaCatalog/MediaLibrary6.0/MediaLibrary/Controllers/FileManagementController.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@ public class FileManagementController : Controller
1414
private readonly IFileMetadataService _metadataService;
1515
private readonly IImageMetadataService _imageService;
1616
private readonly IImageLookupService _imageLookupService;
17-
private readonly IModerationService _moderationService;
1817
private readonly ILogger _logger;
19-
public FileManagementController (IStorageService storage, IOptions<AwsSettings> options, IFileMetadataService metadataService, IImageMetadataService imageService, ILogger<FileManagementController> logger, IImageLookupService imageLookupService, IModerationService moderationService)
18+
public FileManagementController (IStorageService storage, IOptions<AwsSettings> options, IFileMetadataService metadataService, IImageMetadataService imageService, ILogger<FileManagementController> logger, IImageLookupService imageLookupService)
2019
{
2120
_storage = storage;
2221
_configuration = options.Value;
2322
_metadataService = metadataService;
2423
_imageService = imageService;
2524
_imageLookupService = imageLookupService;
26-
_moderationService = moderationService;
2725
_logger = logger;
2826
}
2927
// We need to store the files in S3 and then push the metadata into a Dynamo DB Table.
@@ -63,6 +61,8 @@ public async Task<IActionResult> Upload(IFormFile file)
6361
string s3KeyName = _storage.SaveFile(file);
6462
_logger.Log(LogLevel.Information, "Saved file {0} to S3 bucket as {1}", file.FileName, s3KeyName );
6563

64+
IModerationService _moderationService = new RekognitionModerationService (_configuration, _logger);
65+
6666
var moderationResults = await _moderationService.IsContentAllowed(s3KeyName);
6767
if (moderationResults.ImageAllowed)
6868
{

SampleApplications/2022/MediaCatalog/MediaLibrary6.0/MediaLibrary/Controllers/RekognitionController.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ namespace MediaLibrary.Controllers
99
{
1010
public class RekognitionController : Controller
1111
{
12-
12+
1313
private readonly AwsSettings _configuration;
1414
private readonly IFileMetadataService _metadataService;
1515
private readonly IImageMetadataService _imageMetadataService;
1616
private readonly IImageLookupService _imageLookupService;
1717
private readonly ILogger _logger;
1818

19-
public RekognitionController (IOptions<AwsSettings> options, IFileMetadataService metadataService, IImageMetadataService imageMetadataService, ILogger<RekognitionController> logger, IImageLookupService imageLookupService)
19+
public RekognitionController(IOptions<AwsSettings> options, IFileMetadataService metadataService, IImageMetadataService imageMetadataService, ILogger<RekognitionController> logger, IImageLookupService imageLookupService)
2020
{
2121
_configuration = options.Value;
2222
_metadataService = metadataService;
@@ -58,7 +58,7 @@ public async Task<IActionResult> ViewItem(string item)
5858
}
5959
}
6060

61-
public async Task<IActionResult> Process (string item)
61+
public async Task<IActionResult> Process(string item)
6262
{
6363
_logger.Log(LogLevel.Information, "RekognitionController::Process", null);
6464
AWSXRayRecorder.Instance.BeginSubsegment("RekognitionController::Process - Getting File Metadata");
@@ -93,7 +93,7 @@ public async Task<IActionResult> Process (string item)
9393
};
9494

9595
var labels = await client.DetectLabelsAsync(detectLabelsRequest);
96-
96+
9797
// Store the new data in a new dynamo DB Table
9898
foreach (var label in labels.Labels)
9999
{
@@ -111,7 +111,7 @@ public async Task<IActionResult> Process (string item)
111111
AWSXRayRecorder.Instance.EndSubsegment();
112112
}
113113
// Sore individual indexes
114-
return View (viewModel);
114+
return View(viewModel);
115115
}
116116
[HttpPost]
117117
public async Task<IActionResult> Process(ImageProcessingModel model, IFormCollection collection)
@@ -162,7 +162,7 @@ public async Task<IActionResult> Process(ImageProcessingModel model, IFormCollec
162162
return RedirectToAction("Index", "FileManagement");
163163
}
164164

165-
public async Task<IActionResult> Search (string filter)
165+
public async Task<IActionResult> Search(string filter)
166166
{
167167
var fullLabelData = await _imageLookupService.GetLabelData();
168168
ImageLookupDataModel imageLookupList;
@@ -189,7 +189,7 @@ where x.Label.ToLower() == filter.ToLower()
189189
{
190190
viewModel.CurrentValue = "---Choose Label---";
191191
}
192-
192+
193193
viewModel.Labels = new List<string>();
194194

195195
foreach (var item in fullLabelData)
@@ -200,9 +200,9 @@ where x.Label.ToLower() == filter.ToLower()
200200
}
201201
}
202202

203-
203+
204204

205205
return View(viewModel);
206206
}
207207
}
208-
}
208+
}

SampleApplications/2022/MediaCatalog/MediaLibrary6.0/MediaLibrary/MediaLibrary.csproj

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,19 @@
1010

1111
<ItemGroup>
1212
<PackageReference Include="AWS.Logger.AspNetCore" Version="3.3.0" />
13-
<PackageReference Include="AWSSDK.Core" Version="3.7.12.6" />
14-
<PackageReference Include="AWSSDK.DynamoDBv2" Version="3.7.3.54" />
15-
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.7.2" />
16-
<PackageReference Include="AWSSDK.Rekognition" Version="3.7.8.29" />
17-
<PackageReference Include="AWSSDK.S3" Version="3.7.9.22" />
18-
<PackageReference Include="AWSSDK.SimpleSystemsManagement" Version="3.7.17.24" />
19-
<PackageReference Include="AWSXRayRecorder" Version="2.10.1" />
20-
<PackageReference Include="AWSXRayRecorder.Core" Version="2.10.1" />
21-
<PackageReference Include="AWSXRayRecorder.Handlers.AspNetCore" Version="2.7.3" />
22-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0" />
23-
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.16.1" />
13+
<PackageReference Include="AWSSDK.Core" Version="3.7.106.21" />
14+
<PackageReference Include="AWSSDK.DynamoDBv2" Version="3.7.102.28" />
15+
<PackageReference Include="AWSSDK.Extensions.NETCore.Setup" Version="3.7.5" />
16+
<PackageReference Include="AWSSDK.Rekognition" Version="3.7.103.5" />
17+
<PackageReference Include="AWSSDK.S3" Version="3.7.103.51" />
18+
<PackageReference Include="AWSSDK.SimpleSystemsManagement" Version="3.7.104.17" />
19+
<PackageReference Include="AWSSDK.SSO" Version="3.7.100.114" />
20+
<PackageReference Include="AWSSDK.SSOOIDC" Version="3.7.100.114" />
21+
<PackageReference Include="AWSXRayRecorder" Version="2.14.0" />
22+
<PackageReference Include="AWSXRayRecorder.Core" Version="2.14.0" />
23+
<PackageReference Include="AWSXRayRecorder.Handlers.AspNetCore" Version="2.11.0" />
24+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.0" />
25+
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.18.1" />
2426
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.7" />
2527
</ItemGroup>
2628

SampleApplications/2022/MediaCatalog/MediaLibrary6.0/MediaLibrary/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
builder.Services.AddScoped<IFileMetadataService, DynamoFileMetadataService>();
1616
builder.Services.AddScoped<IImageMetadataService, DynamoImageMetadataService>();
1717
builder.Services.AddScoped<IImageLookupService, DynamoImageLookupService>();
18-
builder.Services.AddScoped<IModerationService, RekognitionModerationService>();
18+
1919

2020

2121
builder.Services.Configure<AwsSettings>(builder.Configuration.GetSection("AWSConfig"));

SampleApplications/2022/MediaCatalog/MediaLibrary6.0/MediaLibrary/Services/RekognitionModerationService.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,23 @@ namespace MediaLibrary.Services
66
public class RekognitionModerationService : IModerationService
77
{
88
private readonly AwsSettings _configuration;
9-
private readonly ILogger<RekognitionModerationService> _logger;
9+
private readonly ILogger _logger;
1010

11-
public RekognitionModerationService (IOptions<AwsSettings> options, ILogger<RekognitionModerationService> logger)
11+
12+
13+
public RekognitionModerationService(AwsSettings options, ILogger logger)
1214
{
13-
_configuration = options.Value;
15+
_configuration = options;
1416
_logger = logger;
1517
}
18+
1619
public async Task<ModerationResultsViewModel> IsContentAllowed(string objectLocation)
1720
{
1821
Amazon.Rekognition.AmazonRekognitionClient client = new Amazon.Rekognition.AmazonRekognitionClient();
1922

2023
var results = await client.DetectModerationLabelsAsync(new Amazon.Rekognition.Model.DetectModerationLabelsRequest()
2124
{
22-
MinConfidence = 75F,
25+
MinConfidence = 50F,
2326
Image = new Amazon.Rekognition.Model.Image()
2427
{
2528
S3Object = new Amazon.Rekognition.Model.S3Object()

0 commit comments

Comments
 (0)