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; }
}
}