xIdentityModels the Security Key which used to Signing JWT Tokens in Authentication Provider the Issuer and Creator of Token the Audience and Consumer of Token the List of Users Roles which must Provides in Identity determines All new users must Assign to which role in Registration determines New Registered Users Confirm Email or not determines New Registered Users Confirm PhoneNumber or not determines the Registration only Can be done with Invitation or not determines the Registration required confirmation with email or not an string Which Provide how long a action token can be valid Provide the Available Policies with their Default Values User Account Lock Policies User Password Policies the Policies for User for Allowing to SignIn the Policies for User the policies which determines how to populate user profile User Account Lock Policies The String which Provide Time Span Delais between Lockout and UnLock a User Account this Provided String the Parsed before Use the Number of InvalidLoginAttemps which can Happens to Lockout User Account determines Lockout mechanism allowed for new Users or not User Password Policies determines Password must contains digits or not determines the minimum allowed length for a password determines the number of Unique Chars must be included in a Password determines Password must contains LowerCase chars or not determines Password must contains Non-Alphabetical chars or not determines Password must contains UpperCase chars or not the Policies for User for Allowing to SignIn determines only enabled users can SignIn determines User must Confirm the given Email Address before Login or not determines User must Confirm the given Phone Number before Login or not the Policies for User determines Allowed characters which can used in UserName determines the Email Address of each User must be Unique or not minimum length of User Name maximum length of user name Minimum Age for Registration Maximum age for Registration a collection of invalid usernames contains user profile configuration determines user profile contain email or not determines user profile contains phone number or not determines user profile contains Roles collection or not Represent State of Friendship between to Users Determines Available Genders contains default users information All Available Friendship Types ... a DTO Class Which Represent a User Friends ... a List of Available Open Actions ... Open Actions Request Model ... Validate Model ... Checksum Digest Model ... Validate a Token is Correspond to Model or not ... aa Dto which used between Api's ... User Info Providing in Open Actions ... since registering IXUserRoleHelper need to add default instance if user not provided we create this helper ... Converts a User Entity to Profile Dto ... Check Specified User Has Access to Provided Roles ... Check Specified User Contains Specified UserSelectByParam or not ... /// Convert XIdentityUserDescriptor instance to XUser Check a User is Same as Descriptor User Check to XDevice instance to be same or not convert UserClaimsInfo to TokenResponse ... Convert a SecurityToken to it's Token String Validate a Token Convert a token string to Security Token Parse Action Token and return Corresponding RegistrationRequestDto Check to ActionRequestContext object is same or not Convert a RegistrationRequestDto object to it's jwt token Claims Generate a SecurityToken based on RegistrationRequestDto object Retrieve Tokens From Headers Retrieve Tokens From HttpContext Retrieve Tokens From ActionExecutingContext Retrieve Tokens From XUserInfo instance Retrieve Tokens From IHeader Dictionary Generate XTokenResponse instance based on TokenResponse Generate XTokenResponse instance based on TokenResponse Convert XLoginResponse to XTokenResponse Add Authorization Tokens in Headers of Specific IHeaderDictionary instance Add Authorization Tokens in Headers of Specific IHeaderDictionary instance Add Authorization Tokens in Headers of Specific IHeaderDictionary instance Add Authorization Tokens in Headers of Specific IHeaderDictionary instance Add Authorization Tokens in Headers of Specific HttpRequest instance Add Authorization Tokens in Headers of Specific HttpRequest instance Add Authorization Tokens in Headers of Specific HttpRequest instance Add Authorization Tokens in Headers of Specific HttpRequest instance Add ReNewed Authorization Tokens in Headers of Specific Response. Later in HttpInterceptors we can Look for AccessToken-ReNewed header Value and Renew User Tokens based on it Add ReNewed Authorization Tokens in Headers of Specific Response. Later in HttpInterceptors we can Look for AccessToken-ReNewed header Value and Renew User Tokens based on it Determines a Token Can Refrsh or not Determines a Token Can Refrsh or not Generate a Revision Checksum for new Tokens Generate a Revision Checksum for new Tokens Check an XLoginResponse instance is Valid with it's revision Check an XTokenResponse instance is Valid with it's revision represent a system wide actions Client Device Locale user's client device local such as en-US Requested Action Token a hashed content user's device an instance of XDevice which represent user's device FirstName users FirstName LastName user's LastName an Optional Value which represetns User's DateOfBirth user's DateOfBirth User's Id a GUID string which represent user's Id UserName user's UserName Email user's Email address MobileNumber / PhoneNumber user's PhoneNumber Password user's Password NewPassword a passwor string which used to Change/Reset password EmailVerificationCode a Verification Code which assign to user's for confirm it's Email Address MobileVerificationCode a Verification Code which assign to user's for confirm it's Phone Number Thumbnail an instance of IFormFile which is used as user's avatar ReturnUrl a url string which used in many used cases for providing a way to lead users to right places. represent a system wide action result ActionToken a hashed string which carry required info for doing system actions. ActionToken Lifetime an instance of DateTime which represent token expiration time Represent Requirements for Authenticationg a User how select an specific User an string value which represent how system select user such as: UserName, Email Address or MobileNumber user's password an string which represent user's pasword user's device an instance of XDevice which represent user's device user's language an string which represent user's language and locale, such as: en-US Represent a Client Device which used by User Operating System device operating system identifier Operating System Version which version of operatin system is in use Device Browser the Browser identifier Browser Engine Agent browser engine Agent Type of client Device represent device type XDeviceType UserId Represent this Devie belong to which User Identifier User Represent Device User XUser represent a Follower of specific User XFriendshipState state of Friendship at current moment XFriendshipState UserId source User's Id User source User XUser DestId destination User's Id Dest dest User XUser represent a Following of specific User XFriendshipState state of Friendship at current moment XFriendshipState UserId source User's Id User source User XUser DestId destination User's Id Dest dest User XUser Represent a User's Avatar Entity UserId represent current Avatar belongs to which User User User instance XUser Name Avatar's file name Thumb Avatar's thumbnail file's name Path Avatar's Image path on Profile Server ThumbPath Avatar's Thumbnail Image path on Profile Service CreationDate Upload Time represnt a User of System FirstName user's FirstName LastName user's LastName User is Enabled or not system was restrict Disabled Users access to Many Resources boolean value represent User is Enable or not User is Banned or not system was reject Banned Users access to Almost all Resources boolean value represent User is Banned or not DateOfBirth user's DateOfBirth CreationDate user's Creation/Registration Date LastLogin user's Last Successfull Login Date ProfileImage/Avatar user's current Avatar Gender user's Gender User Biography ... User Bio Cover Image ... Can Discover User ... User's Devices XDevice a Collection of all assigned Devices to User User's Avatars XProfileImage a Collection of all assigned Avatars to User User's Followers XFriendshipFollower a Collection of all User's Followers User's Followings XFriendshipFollowing a Collection of all User's Followings User's Roles a Collection of all User's Roles in System