public async Task <IViewComponentResult> InvokeAsync() { var models = _externalAuthenticationService .LoadActiveAuthenticationProviders(_workContext.CurrentCustomer, _workContext.CurrentStore); var model = new List <ExternalAuthenticationMethodModel>(); foreach (var item in models) { var viewComponentName = await item.GetPublicViewComponentName(); model.Add(new ExternalAuthenticationMethodModel { ViewComponentName = viewComponentName }); } return(View(model)); }
private async Task PrepareExternalAuth(CustomerInfoModel model, GetInfo request) { model.NumberOfExternalAuthenticationProviders = _externalAuthenticationService .LoadActiveAuthenticationProviders(request.Customer, request.Store).Count; foreach (var ear in await _externalAuthenticationService.GetExternalIdentifiers(request.Customer)) { if (!_externalAuthenticationService.AuthenticationProviderIsAvailable(ear.ProviderSystemName)) { continue; } var authMethod = _externalAuthenticationService.LoadAuthenticationProviderBySystemName(ear.ProviderSystemName); model.AssociatedExternalAuthRecords.Add(new CustomerInfoModel.AssociatedExternalAuthModel { Id = ear.Id, Email = ear.Email, ExternalIdentifier = ear.ExternalDisplayIdentifier, AuthMethodName = authMethod.FriendlyName }); } }