Example #1
0
        public async Task CreateToken_WithExpiration_Should_Succeed()
        {
            DateTimeOffset now   = DateTimeOffset.Now;
            var            token = await TokenDAO.Create(DbConnection, "description", now);

            Assert.NotNull(token);

            var fullToken = await TokenDAO.GetById(DbConnection, token);

            Assert.Equal(token, fullToken.ID);
            Assert.Equal(now.ToUnixTimeMilliseconds(), fullToken.ExpiresAt);
        }
Example #2
0
        public async Task CreateToken_WithNullExpiration_Should_Succeed()
        {
            var token = await TokenDAO.Create(DbConnection, "description", null);

            Assert.NotNull(token);

            var fullToken = await TokenDAO.GetById(DbConnection, token);

            Assert.Equal(token, fullToken.ID);
            Assert.NotNull(fullToken.CreatedAt);
            Assert.Null(fullToken.ExpiresAt);
            Assert.Null(fullToken.RevokedAt);
        }
Example #3
0
        public async Task InvalidateToken_Should_Succeed()
        {
            var token = await TokenDAO.Create(DbConnection, "description", null);

            Assert.NotNull(token);

            var fullToken = await TokenDAO.GetById(DbConnection, token);

            Assert.Null(fullToken.ExpiresAt);

            await TokenDAO.Invalidate(DbConnection, token);

            fullToken = await TokenDAO.GetById(DbConnection, token);

            Assert.NotNull(fullToken.RevokedAt);
        }
Example #4
0
        public async Task <string> Lookup(string token)
        {
            var found = await TokenDAO.GetById(DbConnection, token);

            if (found == null)
            {
                return(string.Empty);
            }

            if (found.ExpiresAt != null && found.ExpiresAt < DateTimeOffset.Now.ToUnixTimeMilliseconds())
            {
                return(string.Empty);
            }

            return(found.ID);
        }
Example #5
0
        public async Task <bool> Exists(string token)
        {
            var found = await TokenDAO.GetById(DbConnection, token);

            if (found == null)
            {
                return(false);
            }

            if (found.ExpiresAt != null && found.ExpiresAt < DateTimeOffset.Now.ToUnixTimeMilliseconds())
            {
                return(false);
            }

            return(true);
        }