using System.Collections.Generic; using xIdentityModels.Dtos; namespace xIdentityModels.Configurations { public class XIdentityConfiguration { // // Define All Policies which can Apply to Identity Framework // and also create a Default instance if it's not Exists // in AppSetting JSON file ... public XIdentityPolicy Policy { get; set; } /// /// the Security Key which used to Signing JWT Tokens /// in Authentication Provider /// /// public string IdentitySecretKey { get; set; } /// /// the Issuer and Creator of Token /// /// public string IdentityIssuer { get; set; } /// /// the Audience and Consumer of Token /// /// public string IdentityAudience { get; set; } /// /// the List of Users Roles which must Provides in Identity /// /// public HashSet IdentityRoles { get; set; } /// /// determines All new users must Assign to which role in Registration /// /// public string NewUsersRole { get; set; } /// /// determines New Registered Users Confirm Email or not /// /// public bool AutoConfirmNewUsersEmail { get; set; } /// /// determines New Registered Users Confirm PhoneNumber or not /// /// public bool AutoConfirmNewUsersPhoneNumber { get; set; } /// /// determines the Registration only Can be done with Invitation or not /// /// public bool RegistrationJustWithInvite { get; set; } /// /// determines the Registration required confirmation with email or not /// /// public bool RequireRegistrationConfirm { get; set; } // public int MaxNumberOfVerificationCodeSend { get; set; } // public int DeleyBetweenTwoVerificationCode { get; set; } public int BannedDeviceTimeout { get; set; } /// /// an string Which Provide how long a action token can be valid /// /// public string ActionTokenExpirationDateProvider { get; set; } public HashSet IdentityMessages { get; set; } } }