Try your search with a different keyword or use * as a wildcard.
using Nop.Core;
using Nop.Services.Authentication.External;
using Nop.Web.Models.Customer;
namespace Nop.Web.Factories;
///
/// Represents the external authentication model factory
///
public partial class ExternalAuthenticationModelFactory : IExternalAuthenticationModelFactory
{
#region Fields
protected readonly IAuthenticationPluginManager _authenticationPluginManager;
protected readonly IStoreContext _storeContext;
protected readonly IWorkContext _workContext;
#endregion
#region Ctor
public ExternalAuthenticationModelFactory(IAuthenticationPluginManager authenticationPluginManager,
IStoreContext storeContext,
IWorkContext workContext)
{
_authenticationPluginManager = authenticationPluginManager;
_storeContext = storeContext;
_workContext = workContext;
}
#endregion
#region Methods
///
/// Prepare the external authentication method model
///
///
/// A task that represents the asynchronous operation
/// The task result contains the list of the external authentication method model
///
public virtual async Task> PrepareExternalMethodsModelAsync()
{
var store = await _storeContext.GetCurrentStoreAsync();
return (await _authenticationPluginManager
.LoadActivePluginsAsync(await _workContext.GetCurrentCustomerAsync(), store.Id))
.Select(authenticationMethod => new ExternalAuthenticationMethodModel
{
ViewComponent = authenticationMethod.GetPublicViewComponent()
})
.ToList();
}
#endregion
}