public async Task DeleteIdentity(Guid id)
 {
     if (IdentitiesIdMap.TryGetValue(id, out Identity identity))
     {
         IdentitiesIdMap.Remove(id);
         IdentitiesIdentifierMap.Remove(identity.Identifier);
     }
 }
 public async Task <Identity> GetIdentity(Guid id)
 {
     if (IdentitiesIdMap.TryGetValue(id, out Identity identity))
     {
         return(identity);
     }
     return(null);
 }
        public async Task <Identity> CreateIdentity(string identifier, string hashedPassword, byte[] salt)
        {
            Identity identity = new Identity()
            {
                Id             = Guid.NewGuid(),
                Identifier     = identifier,
                HashedPassword = hashedPassword,
                Salt           = salt,
                Disabled       = false,
                Roles          = new List <Role>()
            };

            IdentitiesIdMap.Add(identity.Id, identity);
            IdentitiesIdentifierMap.Add(identity.Identifier, identity);
            return(identity);
        }