feat: add authorize in OAuth
This commit is contained in:
@ -1,9 +1,11 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Mirea.Api.Security.Common.Domain;
|
||||
using Mirea.Api.Security.Common.Interfaces;
|
||||
using Mirea.Api.Security.Services;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Mirea.Api.Security;
|
||||
|
||||
@ -45,6 +47,22 @@ public static class DependencyInjection
|
||||
};
|
||||
});
|
||||
|
||||
var providers = new Dictionary<OAuthProvider, (string ClientId, string Secret)>();
|
||||
|
||||
foreach (var provider in Enum.GetValues<OAuthProvider>())
|
||||
{
|
||||
var providerName = Enum.GetName(provider)!.ToUpper();
|
||||
var clientId = configuration[$"{providerName}_CLIENT_ID"];
|
||||
var secret = configuration[$"{providerName}_CLIENT_SECRET"];
|
||||
|
||||
if (string.IsNullOrEmpty(clientId) || string.IsNullOrEmpty(secret))
|
||||
continue;
|
||||
|
||||
providers.Add(provider, (clientId, secret));
|
||||
}
|
||||
|
||||
services.AddSingleton(provider => new OAuthService(provider.GetRequiredService<ILogger<OAuthService>>(), providers));
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user