Пример #1
0
        public static void SaveRefreshToken(dynamic inputs)
        {
            try
            {
                string   token            = inputs.HashedToken;
                string   Username         = inputs.Username;
                int      ClientId         = inputs.ClientId;
                DateTime expires_on       = inputs.ExpiresUtc;
                DateTime issued_on        = inputs.IssuedUtc;
                string   protected_ticket = inputs.ProtectedTicket;
                var      document         = new BsonDocument
                {
                    { "token", token },
                    { "username", Username },
                    { "client_id", ClientId },
                    { "expires_on", expires_on },
                    { "issued_on", issued_on },
                    { "protected_ticket", protected_ticket }
                };
                var _database  = MongodbClient.GetDatabaseClient();
                var collection = _database.GetCollection <BsonDocument>("client");
                var filter     = Builders <BsonDocument> .Filter.Eq("Id", ClientId);

                var update = Builders <BsonDocument> .Update.Push("RefreshToken", document);

                var result = collection.UpdateOne(filter, update);
            }
            catch (Exception ex)
            {
                BaseClass.logger.Error("Database Query SaveRefreshToken: ", ex);
            }
        }
Пример #2
0
        public static DatabaseService.Models.RefreshToken GetRefreshToken(string HashedToken)
        {
            try
            {
                Mapper.CreateMap <DatabaseService.Models.RefreshToken, RefreshToken>().ForMember(src => src._id, option => option.Ignore()).ReverseMap();
                var _database  = MongodbClient.GetDatabaseClient();
                var collection = _database.GetCollection <BsonDocument>("client.RefreshToken");
                var filter     = Builders <BsonDocument> .Filter.Eq("token", HashedToken);

                var doc    = collection.Find(filter).ToList();
                var result = BsonSerializer.Deserialize <RefreshToken>(doc[0]);
                return(Mapper.Map <DatabaseService.Models.RefreshToken>(result));
            }
            catch (Exception ex)
            {
                BaseClass.logger.Error("Database Query GetRefreshToken: ", ex);
                return(null);
            }
        }
Пример #3
0
        public static DatabaseService.Models.User AuthenticateUser(string username)
        {
            try
            {
                Mapper.CreateMap <DatabaseService.Models.User, User>().ForMember(src => src._id, option => option.Ignore()).ReverseMap();
                var _database  = MongodbClient.GetDatabaseClient();
                var collection = _database.GetCollection <BsonDocument>("user");
                var filter     = Builders <BsonDocument> .Filter.Eq("Username", username);

                var doc    = collection.Find(filter).ToList();
                var result = BsonSerializer.Deserialize <User>(doc[0]);
                return(Mapper.Map <DatabaseService.Models.User>(result));
            }
            catch (Exception ex)
            {
                BaseClass.logger.Error("Database Query AuthenticateUser: ", ex);
                return(null);
            }
        }