Exemplo n.º 1
0
        public InviteService(
            IBaseDAO <AppUserEntity> userDAO,
            IBaseDAO <RoleEntity> roleDAO,
            IBaseDAO <InviteEntity> inviteDAO,
            IGroupStore groupStore,
            IGroupUserStore groupUserStore,
            IEmailService mailService,
            IAddInviteFilter addInviteFilter,
            IValidator <InviteToGroupRequest> inviteToGroupRequestValidator,
            IValidator <InviteRequest> inviteRequestValidator,
            ILogger <InviteService> logger,
            IOptions <IdentityUIOptions> identityManagementOptions,
            IOptions <IdentityUIEndpoints> identityManagementEndpoints)
        {
            _userDAO   = userDAO;
            _roleDAO   = roleDAO;
            _inviteDAO = inviteDAO;

            _groupStore      = groupStore;
            _groupUserStore  = groupUserStore;
            _mailService     = mailService;
            _addInviteFilter = addInviteFilter;

            _inviteToGroupRequestValidator = inviteToGroupRequestValidator;
            _inviteRequestValidator        = inviteRequestValidator;

            _logger = logger;

            _identityManagementOptions   = identityManagementOptions.Value;
            _identityManagementEndpoints = identityManagementEndpoints.Value;
        }
Exemplo n.º 2
0

        
Exemplo n.º 3
0
        public CredentialsService(
            UserManager <AppUserEntity> userManager,
            IEmailService emailService,
            ILoginService loginService,
            IIdentityUIUserInfoService identityUIUserInfoService,
            IValidator <RecoverPasswordRequest> forgotPasswordValidator,
            IValidator <ResetPasswordRequest> recoverPasswordValidator,
            IValidator <ChangePasswordRequest> changePasswordValidator,
            IValidator <CreatePasswordRequest> createPasswordValidator,
            ILogger <CredentialsService> logger,
            IOptionsSnapshot <IdentityUIOptions> identityManagementOptions,
            IOptionsSnapshot <IdentityUIEndpoints> identityManagementEndpoints)
        {
            _userManager = userManager;

            _emailService = emailService;
            _loginService = loginService;

            _identityUIUserInfoService = identityUIUserInfoService;

            _forgotPasswordValidator  = forgotPasswordValidator;
            _recoverPasswordValidator = recoverPasswordValidator;
            _changePasswordValidator  = changePasswordValidator;
            _createPasswordValidator  = createPasswordValidator;

            _logger = logger;

            _identityManagementOptions   = identityManagementOptions.Value;
            _identityManagementEndpoints = identityManagementEndpoints.Value;
        }
Exemplo n.º 4
0
        public ExternalLoginService(
            SignInManager <AppUserEntity> signInManager,
            UserManager <AppUserEntity> userManager,
            IIdentityUIUserInfoService identityUIUserInfoService,
            ISessionService sessionService,
            ILoginFilter canLoginService,
            IOptions <IdentityUIOptions> identityUIOptions,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            IValidator <ExternalLoginRequest> externalLoginRequestValidator,
            ILogger <ExternalLoginService> logger)
        {
            _signInManager = signInManager;
            _userManager   = userManager;

            _identityUIUserInfoService = identityUIUserInfoService;
            _sessionService            = sessionService;
            _canLoginService           = canLoginService;

            _identityUIOptions   = identityUIOptions.Value;
            _identityUIEndpoints = identityUIEndpoints.Value;

            _externalLoginRequestValidator = externalLoginRequestValidator;

            _logger = logger;
        }
Exemplo n.º 5
0
        public TwoFactorAuthService(
            UserManager <AppUserEntity> userManager,
            SignInManager <AppUserEntity> signInManager,
            IValidator <AddTwoFactorAuthenticatorRequest> addTwoFactorValidator,
            IValidator <AddTwoFactorPhoneAuthenticationRequest> addPhoneTwoFactorValidator,
            IValidator <AddTwoFactorEmailAuthenticationRequest> addEmailTwoFactorValidator,
            ILoginService loginService,
            IEmailService emailService,
            ISmsSender smsSender,
            IMemoryCache memoryCache,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            ILogger <TwoFactorAuthService> logger)
        {
            _userManager   = userManager;
            _signInManager = signInManager;

            _loginService = loginService;

            _emailService = emailService;
            _smsSender    = smsSender;
            _memoryCache  = memoryCache;

            _addTwoFactorValidator      = addTwoFactorValidator;
            _addPhoneTwoFactorValidator = addPhoneTwoFactorValidator;
            _addEmailTwoFactorValidator = addEmailTwoFactorValidator;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _logger = logger;
        }
Exemplo n.º 6
0
        public AccountDataService(IOptions <IdentityUIEndpoints> identityUIEndpoints, SignInManager <AppUserEntity> signInManager,
                                  ILogger <AccountDataService> logger)
        {
            _identityUIEndpoints = identityUIEndpoints.Value;
            _signInManager       = signInManager;

            _logger = logger;
        }
Exemplo n.º 7
0
 public SettingsController(
     IGroupAdminSettingsDataService groupAdminSettingsDataService,
     IGroupService groupService,
     IOptions <IdentityUIEndpoints> identityUIEndpoints)
 {
     _groupAdminSettingsDataService = groupAdminSettingsDataService;
     _groupService        = groupService;
     _identityUIEndpoints = identityUIEndpoints.Value;
 }
Exemplo n.º 8
0
        public AccountController(ILoginService loginService, IEmailService emailService, IAddUserService addUserService, ICredentialsService credentialsService,
                                 IOptionsSnapshot <IdentityUIEndpoints> identityManagmentEndpoints)
        {
            _loginService       = loginService;
            _emailService       = emailService;
            _addUserService     = addUserService;
            _credentialsService = credentialsService;

            _identityManagementEndpoints = identityManagmentEndpoints.Value;
        }
        public EmailConfirmationService(UserManager <AppUserEntity> userManager, ILogger <EmailConfirmationService> logger, IEmailService emailService,
                                        IOptionsSnapshot <IdentityUIOptions> identityManagementOptions, IOptionsSnapshot <IdentityUIEndpoints> identityManagementEndpoints)
        {
            _userManager = userManager;

            _emailService = emailService;

            _logger = logger;

            _identityManagementOptions   = identityManagementOptions.Value;
            _identityManagementEndpoints = identityManagementEndpoints.Value;
        }
Exemplo n.º 10
0
        public EmailDataService(IBaseRepository <EmailEntity> emailRepository, IBaseRepository <AppUserEntity> userRepository,
                                IValidator <DataTableRequest> dataTableValidator, ILogger <EmailDataService> logger, IOptionsSnapshot <IdentityUIEndpoints> identityUIEndpoints)
        {
            _emailRepository = emailRepository;
            _userRepository  = userRepository;

            _dataTableValidator = dataTableValidator;

            _logger = logger;

            _identityUIEndpoint = identityUIEndpoints.Value;
        }
Exemplo n.º 11
0
        public AccountController(ILoginService loginService, IEmailConfirmationService emailConfirmationService,
                                 IAddUserService addUserService, ICredentialsService credentialsService, IAccountDataService accountDataService,
                                 ITwoFactorAuthService twoFactorAuthService, IOptionsSnapshot <IdentityUIEndpoints> identityUIEndpoints)
        {
            _loginService             = loginService;
            _emailConfirmationService = emailConfirmationService;
            _addUserService           = addUserService;
            _credentialsService       = credentialsService;
            _accountDataService       = accountDataService;
            _twoFactorAuthService     = twoFactorAuthService;

            _identityUIEndpoints = identityUIEndpoints.Value;
        }
Exemplo n.º 12
0
        public UserDataService(IUserRepository userRepository, IRoleRepository roleRepository, IBaseRepository <SessionEntity> sessionRepository,
                               IOptions <IdentityUIEndpoints> identityUIEndpoints, IValidator <DataTableRequest> dataTableValidator, ILogger <UserDataService> logger)
        {
            _userRepository    = userRepository;
            _roleRepository    = roleRepository;
            _sessionRepository = sessionRepository;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _dataTableValidator = dataTableValidator;

            _logger = logger;
        }
        public TwoFactorAuthenticationDataService(UserManager <AppUserEntity> userManager, IBaseRepository <AppUserEntity> userRepository,
                                                  ITwoFactorAuthService twoFactorAuthService, IHttpContextAccessor httpContextAccessor, IOptions <IdentityUIEndpoints> options,
                                                  ILogger <TwoFactorAuthenticationDataService> logger)
        {
            _userManager    = userManager;
            _userRepository = userRepository;

            _twoFactorAuthService = twoFactorAuthService;
            _httpContextAccessor  = httpContextAccessor;

            _options = options.Value;

            _logger = logger;
        }
Exemplo n.º 14
0
        /// <summary>
        /// Configures IdentityUI
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configuration"></param>
        /// <param name="endpointAction"></param>
        /// <returns></returns>
        public static IdentityUIServicesBuilder ConfigureIdentityUI(this IServiceCollection services, IConfiguration configuration,
                                                                    Action <IdentityUIEndpoints> endpointAction)
        {
            services.Configure <IdentityUIOptions>(configuration.GetSection("IdentityUI"));
            services.Configure <DatabaseOptions>(configuration.GetSection($"IdentityUI:{nameof(IdentityUIOptions.Database)}"));
            services.Configure <EmailSenderOptions>(configuration.GetSection($"IdentityUI:{nameof(IdentityUIOptions.EmailSender)}"));
            services.Configure <IdentityUIEndpoints>(endpointAction);

            IdentityUIEndpoints identityManagementEndpoints = new IdentityUIEndpoints();

            endpointAction?.Invoke(identityManagementEndpoints);

            IdentityUIServicesBuilder builder = new IdentityUIServicesBuilder(services, identityManagementEndpoints);

            return(builder);
        }
Exemplo n.º 15
0
        public TwoFactorAuthenticationDataService(
            UserManager <AppUserEntity> userManager,
            IBaseRepository <AppUserEntity> userRepository,
            ITwoFactorAuthService twoFactorAuthService,
            IIdentityUIUserInfoService identityUIUserInfoService,
            IOptions <IdentityUIEndpoints> options,
            ILogger <TwoFactorAuthenticationDataService> logger)
        {
            _userManager    = userManager;
            _userRepository = userRepository;

            _twoFactorAuthService      = twoFactorAuthService;
            _identityUIUserInfoService = identityUIUserInfoService;

            _options = options.Value;

            _logger = logger;
        }
Exemplo n.º 16
0
        public ExternalLoginService(SignInManager <AppUserEntity> signInManager, UserManager <AppUserEntity> userManager,
                                    IHttpContextAccessor httpContextAccessor, IUrlGenerator urlGenerator, ISessionService sessionService,
                                    IOptions <IdentityUIEndpoints> identityOptions, IValidator <ExternalLoginRequest> externalLoginRequestValidator,
                                    ILogger <ExternalLoginService> logger)
        {
            _signInManager = signInManager;
            _userManager   = userManager;

            _httpContextAccessor = httpContextAccessor;
            _urlGenerator        = urlGenerator;
            _sessionService      = sessionService;

            _identityOptions = identityOptions.Value;

            _externalLoginRequestValidator = externalLoginRequestValidator;

            _logger = logger;
        }
Exemplo n.º 17
0
        public AddUserService(
            UserManager <AppUserEntity> userManager,
            SignInManager <AppUserEntity> signInManager,
            IEmailConfirmationService emailService,
            IGroupUserService groupUserService,
            IAddUserFilter addUserFilter,
            IBaseDAO <AppUserEntity> userDAO,
            IBaseDAO <InviteEntity> inviteDAO,
            IBaseDAO <RoleEntity> roleDAO,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            IValidator <NewUserRequest> newUserValidator,
            IValidator <RegisterRequest> registerValidator,
            IValidator <AcceptInviteRequest> acceptInviteValidator,
            IValidator <ExternalLoginRegisterRequest> externalLoginRequsterRequestValidator,
            IValidator <GroupBaseUserRegisterRequest> groupBaseUserRegisterRequestValidator,
            IValidator <BaseRegisterRequest> baseRegisterValidator,
            IValidator <IUserAttributeRequest> userAttributeRequestValidator,
            ILogger <AddUserService> logger)
        {
            _userManager   = userManager;
            _signInManager = signInManager;

            _userDAO   = userDAO;
            _inviteDAO = inviteDAO;
            _roleDAO   = roleDAO;

            _emailService     = emailService;
            _groupUserService = groupUserService;
            _addUserFilter    = addUserFilter;

            _newUserValidator      = newUserValidator;
            _registerValidator     = registerValidator;
            _acceptInviteValidator = acceptInviteValidator;
            _externalLoginRequsterRequestValidator = externalLoginRequsterRequestValidator;
            _groupBaseUserRegisterRequestValidator = groupBaseUserRegisterRequestValidator;
            _userAttributeRequestValidator         = userAttributeRequestValidator;
            _baseRegisterValidator = baseRegisterValidator;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _logger = logger;
        }
Exemplo n.º 18
0
        public UserController(
            IGroupUserDataService groupUserDataService,
            IGroupUserService groupUserService,
            IManageUserService manageUserService,
            IImpersonateService impersonateService,
            IGroupAdminUserDataService groupAdminUserDataService,
            IOptions <IdentityUIClaimOptions> identityUICalimOptions,
            IOptions <IdentityUIEndpoints> identityUIEndpoints)
        {
            _groupUserDataService = groupUserDataService;
            _groupUserService     = groupUserService;

            _manageUserService  = manageUserService;
            _impersonateService = impersonateService;

            _groupAdminUserDataService = groupAdminUserDataService;

            _identityUIClaimOptions = identityUICalimOptions.Value;
            _identityUIEndpoints    = identityUIEndpoints.Value;
        }
Exemplo n.º 19
0
        public InviteService(IBaseRepository <AppUserEntity> userRepository, IBaseRepository <InviteEntity> inviteRepository,
                             IBaseRepository <RoleEntity> roleRepository, IGroupStore groupStore, IGroupUserStore groupUserStore, IEmailService mailService,
                             IValidator <InviteToGroupRequest> inviteToGroupRequestValidator, IValidator <InviteRequest> inviteRequestValidator,
                             ILogger <InviteService> logger, IOptionsSnapshot <IdentityUIOptions> identityManagementOptions,
                             IOptionsSnapshot <IdentityUIEndpoints> identityManagementEndpoints)
        {
            _userRepository   = userRepository;
            _inviteRepository = inviteRepository;
            _roleRepository   = roleRepository;

            _groupStore     = groupStore;
            _groupUserStore = groupUserStore;

            _mailService = mailService;

            _inviteToGroupRequestValidator = inviteToGroupRequestValidator;
            _inviteRequestValidator        = inviteRequestValidator;

            _logger = logger;

            _identityManagementOptions   = identityManagementOptions.Value;
            _identityManagementEndpoints = identityManagementEndpoints.Value;
        }
Exemplo n.º 20
0
        public AddUserService(
            UserManager <AppUserEntity> userManager,
            SignInManager <AppUserEntity> signInManager,
            IValidator <NewUserRequest> newUserValidator,
            IValidator <RegisterRequest> registerValidator,
            IValidator <AcceptInviteRequest> acceptInviteValidator,
            ILogger <AddUserService> logger,
            IEmailConfirmationService emailService,
            IBaseRepository <InviteEntity> inviteRepository,
            IBaseRepository <GroupEntity> groupRepository,
            IBaseRepository <GroupUserEntity> groupUserRepository,
            IValidator <ExternalLoginRegisterRequest> externalLoginRequsterRequestValidator,
            IOptions <IdentityUIEndpoints> identityUIEndpoints,
            IBaseRepository <RoleEntity> roleRepository,
            IValidator <IUserAttributeRequest> userAttributeRequestValidator)
        {
            _userManager   = userManager;
            _signInManager = signInManager;

            _inviteRepository    = inviteRepository;
            _groupRepository     = groupRepository;
            _groupUserRepository = groupUserRepository;
            _roleRepository      = roleRepository;

            _newUserValidator      = newUserValidator;
            _registerValidator     = registerValidator;
            _acceptInviteValidator = acceptInviteValidator;
            _externalLoginRequsterRequestValidator = externalLoginRequsterRequestValidator;
            _userAttributeRequestValidator         = userAttributeRequestValidator;

            _emailService = emailService;

            _identityUIEndpoints = identityUIEndpoints.Value;

            _logger = logger;
        }
Exemplo n.º 21
0
 public ImpersonationController(IImpersonateService impersonateService, IOptions <IdentityUIEndpoints> identityUIEndpoints)
 {
     _impersonateService  = impersonateService;
     _identityUIEndpoints = identityUIEndpoints.Value;
 }
Exemplo n.º 22
0
        public AuditController(IAuditDataService auditDataService, IOptions <IdentityUIEndpoints> identityOptions)
        {
            _auditDataService = auditDataService;

            _identityUIEndpoints = identityOptions.Value;
        }
Exemplo n.º 23
0
        /// <summary>
        /// Configures IdentityUI
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configuration"></param>
        /// <param name="endpointAction"></param>
        /// <returns></returns>
        public static IdentityUIServicesBuilder ConfigureIdentityUI(this IServiceCollection services, IConfiguration configuration,
                                                                    Action <IdentityUIEndpoints> endpointAction)
        {
            IdentityUIOptions identityUIOptions = configuration.GetSection("IdentityUI").Get <IdentityUIOptions>();

            if (identityUIOptions == null)
            {
                identityUIOptions = new IdentityUIOptions();
            }

            services.Configure <IdentityUIOptions>(options =>
            {
                options.BasePath    = identityUIOptions.BasePath;
                options.Database    = identityUIOptions.Database;
                options.EmailSender = identityUIOptions.EmailSender;
            });

            services.Configure <ReCaptchaOptions>(options =>
            {
                options.SiteKey    = identityUIOptions.ReCaptcha?.SiteKey;
                options.SiteSecret = identityUIOptions.ReCaptcha?.SiteSecret;
            });

            DatabaseOptions databaseOptions = new DatabaseOptions
            {
                Type             = identityUIOptions.Database?.Type ?? DatabaseTypes.InMemory,
                ConnectionString = identityUIOptions.Database?.ConnectionString
            };

            services.Configure <DatabaseOptions>(options =>
            {
                options.Type             = databaseOptions.Type;
                options.ConnectionString = databaseOptions.ConnectionString;
            });

            services.Configure <EmailSenderOptions>(options =>
            {
                options.Ip                = identityUIOptions.EmailSender?.Ip;
                options.Port              = identityUIOptions.EmailSender?.Port ?? -1;
                options.UserName          = identityUIOptions.EmailSender?.UserName;
                options.Password          = identityUIOptions.EmailSender?.Password;
                options.SenderEmail       = identityUIOptions.EmailSender?.SenderName;
                options.SenderEmail       = identityUIOptions.EmailSender?.SenderEmail;
                options.SenderDisplayName = identityUIOptions.EmailSender?.SenderDisplayName;
                options.UseSSL            = identityUIOptions.EmailSender?.UseSSL ?? false;
            });

            IdentityUIEndpoints identityManagementEndpoints = new IdentityUIEndpoints();

            endpointAction?.Invoke(identityManagementEndpoints);

            if (!identityManagementEndpoints.UseEmailSender.HasValue)
            {
                if (identityUIOptions.EmailSender == null || string.IsNullOrEmpty(identityUIOptions.EmailSender.Ip))
                {
                    identityManagementEndpoints.UseEmailSender = false;
                }
                else
                {
                    identityManagementEndpoints.UseEmailSender = true;
                }
            }

            services.Configure <IdentityUIEndpoints>(options =>
            {
                options.Home = identityManagementEndpoints.Home;

                options.Login        = identityManagementEndpoints.Login;
                options.Logout       = identityManagementEndpoints.Logout;
                options.AccessDenied = identityManagementEndpoints.AccessDenied;

                options.Manage = identityManagementEndpoints.Manage;

                options.ConfirmeEmail = identityManagementEndpoints.ConfirmeEmail;
                options.ResetPassword = identityManagementEndpoints.ResetPassword;
                options.AcceptInvite  = identityManagementEndpoints.AcceptInvite;

                options.ProfileImage        = identityManagementEndpoints.ProfileImage;
                options.AdminLogo           = identityManagementEndpoints.AdminLogo;
                options.AccountSettingsLogo = identityManagementEndpoints.AccountSettingsLogo;

                options.RegisterEnabled          = identityManagementEndpoints.RegisterEnabled;
                options.GroupRegistrationEnabled = identityManagementEndpoints.GroupRegistrationEnabled;

                options.AuthenticatorIssuer = identityManagementEndpoints.AuthenticatorIssuer;

                options.UseEmailSender         = identityManagementEndpoints.UseEmailSender;
                options.UseSmsGateway          = identityManagementEndpoints.UseSmsGateway;
                options.InviteValidForTimeSpan = identityManagementEndpoints.InviteValidForTimeSpan;

                options.BypassTwoFactorOnExternalLogin = identityManagementEndpoints.BypassTwoFactorOnExternalLogin;
                options.UseEmailAsUsername             = identityManagementEndpoints.UseEmailAsUsername;
                options.ShowAuditToUser    = identityManagementEndpoints.ShowAuditToUser;
                options.CanChangeGroupName = identityManagementEndpoints.CanChangeGroupName;
                options.CanRemoveGroup     = identityManagementEndpoints.CanRemoveGroup;
                options.CanRemoveUser      = identityManagementEndpoints.CanRemoveUser;
                options.AllowImpersonation = identityManagementEndpoints.AllowImpersonation;
            });

            IdentityUIServicesBuilder builder = new IdentityUIServicesBuilder(services, identityManagementEndpoints, databaseOptions, configuration);

            builder.Services.AddScoped <IEmailSender, NullEmailSender>();
            builder.Services.AddScoped <ISmsSender, NullSmsSender>();
            builder.Services.AddScoped <IReleaseManagement, ReleaseManagement>();

            builder.Services.AddAudit();
            builder.Services.AddTransient <IAuditDbContext, IdentityDbContext>();

            services.AddScoped <Audit.Services.IAuditSubjectDataService>(x =>
            {
                Microsoft.Extensions.Options.IOptions <Audit.Models.AuditOptions> auditOptions        = x.GetRequiredService <Microsoft.Extensions.Options.IOptions <Audit.Models.AuditOptions> >();
                Microsoft.Extensions.Options.IOptions <IdentityUIClaimOptions> identityUIClaimOptions = x.GetRequiredService <Microsoft.Extensions.Options.IOptions <IdentityUIClaimOptions> >();

                Microsoft.AspNetCore.Http.IHttpContextAccessor httpContextAccessor = x.GetRequiredService <Microsoft.AspNetCore.Http.IHttpContextAccessor>();

                IIdentityUIUserInfoService identityUIUserInfoService = x.GetRequiredService <IIdentityUIUserInfoService>();

                if (httpContextAccessor.HttpContext != null)
                {
                    return(new IdentityUIAuditSubjectService(httpContextAccessor, identityUIUserInfoService, auditOptions, identityUIClaimOptions));
                }

                Audit.Services.IBackgroundServiceContextAccessor backgroundServiceContextAccessor = x.GetRequiredService <Audit.Services.IBackgroundServiceContextAccessor>();
                if (backgroundServiceContextAccessor.BackgroundServiceContext != null)
                {
                    return(new Audit.Services.BackgroundServiceAuditSubjectDataService(backgroundServiceContextAccessor));
                }

                return(new Audit.Services.DefaultAuditSubjectService(auditOptions));
            });

            return(builder);
        }
Exemplo n.º 24
0
 public IdentityUIServicesBuilder(IServiceCollection services, IdentityUIEndpoints identityManagementEndpoints)
 {
     Services = services;
     IdentityManagementEndpoints = identityManagementEndpoints;
 }
Exemplo n.º 25
0
        /// <summary>
        /// Configures IdentityUI
        /// </summary>
        /// <param name="services"></param>
        /// <param name="configuration"></param>
        /// <param name="endpointAction"></param>
        /// <returns></returns>
        public static IdentityUIServicesBuilder ConfigureIdentityUI(this IServiceCollection services, IConfiguration configuration,
                                                                    Action <IdentityUIEndpoints> endpointAction)
        {
            IdentityUIOptions identityUIOptions = configuration.GetSection("IdentityUI").Get <IdentityUIOptions>();

            if (identityUIOptions == null)
            {
                identityUIOptions = new IdentityUIOptions();
            }

            services.Configure <IdentityUIOptions>(options =>
            {
                options.BasePath    = identityUIOptions.BasePath;
                options.Database    = identityUIOptions.Database;
                options.EmailSender = identityUIOptions.EmailSender;
            });

            services.Configure <DatabaseOptions>(options =>
            {
                options.Type             = identityUIOptions.Database?.Type ?? DatabaseTypes.InMemory;
                options.ConnectionString = identityUIOptions.Database?.ConnectionString;
            });

            services.Configure <EmailSenderOptions>(options =>
            {
                options.Ip         = identityUIOptions.EmailSender?.Ip;
                options.Port       = identityUIOptions.EmailSender?.Port ?? -1;
                options.UserName   = identityUIOptions.EmailSender?.UserName;
                options.Password   = identityUIOptions.EmailSender?.Password;
                options.SenderName = identityUIOptions.EmailSender?.SenderName;
            });

            IdentityUIEndpoints identityManagementEndpoints = new IdentityUIEndpoints();

            endpointAction?.Invoke(identityManagementEndpoints);

            if (!identityManagementEndpoints.UseEmailSender.HasValue)
            {
                if (identityUIOptions.EmailSender == null || string.IsNullOrEmpty(identityUIOptions.EmailSender.Ip))
                {
                    identityManagementEndpoints.UseEmailSender = false;
                }
                else
                {
                    identityManagementEndpoints.UseEmailSender = true;
                }
            }

            services.Configure <IdentityUIEndpoints>(options =>
            {
                options.Home = identityManagementEndpoints.Home;

                options.Login        = identityManagementEndpoints.Login;
                options.Logout       = identityManagementEndpoints.Logout;
                options.AccessDenied = identityManagementEndpoints.AccessDenied;

                options.Manage = identityManagementEndpoints.Manage;

                options.ConfirmeEmail = identityManagementEndpoints.ConfirmeEmail;
                options.ResetPassword = identityManagementEndpoints.ResetPassword;
                options.AcceptInvite  = identityManagementEndpoints.AcceptInvite;

                options.RegisterEnabled        = identityManagementEndpoints.RegisterEnabled;
                options.UseEmailSender         = identityManagementEndpoints.UseEmailSender;
                options.UseSmsGateway          = identityManagementEndpoints.UseSmsGateway;
                options.InviteValidForTimeSpan = identityManagementEndpoints.InviteValidForTimeSpan;
            });

            IdentityUIServicesBuilder builder = new IdentityUIServicesBuilder(services, identityManagementEndpoints);

            builder.Services.AddScoped <IEmailSender, NullEmailSender>();
            builder.Services.AddScoped <ISmsSender, NullSmsSender>();

            return(builder);
        }
Exemplo n.º 26
0
 public AccountDataService(IOptions <IdentityUIEndpoints> identityUIEndpoints)
 {
     _identityUIEndpoints = identityUIEndpoints.Value;
 }