Compare commits
2 Commits
main
...
feature/ad
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b90bb23f27 | ||
|
|
f694b9a41a |
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="ErrorDetailsDto.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="HttpErrorDto.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="HttpException.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="LogDetail.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="LogOperation.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="LogSeverity.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="LogTarget.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="ServiceSettings.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="Claims.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
namespace Core.Blueprint.Logging
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="DisplayNames.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="EnvironmentVariables.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="ErrorCodes.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="MimeTypes.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="Responses.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="HttpErrorMiddleware.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="HttpLogger.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// ***********************************************************************
|
||||
// <copyright file="HttpLoggingMiddleware.cs">
|
||||
// Heath
|
||||
// AgileWebs
|
||||
// </copyright>
|
||||
// ***********************************************************************
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ using MongoDB.Driver.Authentication.Oidc;
|
||||
namespace Core.Blueprint.Mongo.Configuration
|
||||
{
|
||||
/// <summary>
|
||||
/// The <see cref="HeathIdentityProvider"/> class is responsible for acquiring an OpenID Connect (OIDC)
|
||||
/// The <see cref="AzureIdentityProvider"/> class is responsible for acquiring an OpenID Connect (OIDC)
|
||||
/// access token for MongoDB authentication using Azure Identity and Managed Identity credentials.
|
||||
/// </summary>
|
||||
public class HeathIdentityProvider : IOidcCallback
|
||||
public class AzureIdentityProvider : IOidcCallback
|
||||
{
|
||||
/// <summary>
|
||||
/// The audience (resource identifier) for which the OIDC token is being requested.
|
||||
@@ -21,10 +21,10 @@ namespace Core.Blueprint.Mongo.Configuration
|
||||
private readonly string _environment;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="HeathIdentityProvider"/> class with the specified audience.
|
||||
/// Initializes a new instance of the <see cref="AzureIdentityProvider"/> class with the specified audience.
|
||||
/// </summary>
|
||||
/// <param name="audience">The audience (resource identifier) for which the OIDC token is being requested.</param>
|
||||
public HeathIdentityProvider(string audience)
|
||||
public AzureIdentityProvider(string audience)
|
||||
{
|
||||
_audience = audience;
|
||||
_environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty;
|
||||
@@ -46,7 +46,7 @@ namespace Core.Blueprint.DAL.Mongo.Configuration
|
||||
{
|
||||
var settings = serviceProvider.GetRequiredService<IOptions<MongoDbSettings>>().Value;
|
||||
var mongoClientSettings = MongoClientSettings.FromConnectionString(settings.ConnectionString);
|
||||
mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new HeathIdentityProvider(settings.Audience));
|
||||
mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new AzureIdentityProvider(settings.Audience));
|
||||
return new MongoClient(mongoClientSettings);
|
||||
});
|
||||
|
||||
|
||||
@@ -148,5 +148,13 @@ namespace Core.Blueprint.Mongo
|
||||
/// <param name="filterExpression">An expression used to filter the documents to delete.</param>
|
||||
/// <returns>A <see cref="Task"/> representing the asynchronous operation.</returns>
|
||||
Task DeleteManyAsync(Expression<Func<TDocument, bool>> filterExpression);
|
||||
|
||||
/// <summary>
|
||||
/// Executes an aggregation pipeline and returns the first document in the result asynchronously.
|
||||
/// </summary>
|
||||
/// <typeparam name="TOutput">The type of the output document you expect from the pipeline.</typeparam>
|
||||
/// <param name="pipeline">The aggregation pipeline definition to execute.</param>
|
||||
/// <returns>The first document from the aggregation result, or null if none found.</returns>
|
||||
Task<TOutput> FindOnePipelineAsync<TOutput>(PipelineDefinition<TDocument, TOutput> pipeline);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,5 +248,16 @@ namespace Core.Blueprint.Mongo
|
||||
{
|
||||
return Task.Run(() => _collection.DeleteManyAsync(filterExpression));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Executes an aggregation pipeline and returns the first document in the result asynchronously.
|
||||
/// </summary>
|
||||
/// <typeparam name="TOutput">The type of the output document you expect from the pipeline.</typeparam>
|
||||
/// <param name="pipeline">The aggregation pipeline definition to execute.</param>
|
||||
/// <returns>The first document from the aggregation result, or null if none found.</returns>
|
||||
public virtual Task<TOutput> FindOnePipelineAsync<TOutput>(PipelineDefinition<TDocument, TOutput> pipeline)
|
||||
{
|
||||
return Task.Run(() => _collection.Aggregate(pipeline).FirstOrDefaultAsync());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user