Exemple #1
0
        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));
        }
Exemple #2
0
        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
                });
            }
        }