Index: iknow-api/Services/Implementations/RefreshTokenService.cs
===================================================================
--- iknow-api/Services/Implementations/RefreshTokenService.cs	(revision 4e061d8c2af2ecd0b0495d9f5a22c1c1a32b8976)
+++ iknow-api/Services/Implementations/RefreshTokenService.cs	(revision 4e061d8c2af2ecd0b0495d9f5a22c1c1a32b8976)
@@ -0,0 +1,48 @@
+using iknow_api.DTOs;
+using iknow_api.Services;
+using System.Security.Cryptography;
+using iknow_api.Models;
+using iknow_api.Models;
+using iknow_api.Repositories;
+
+namespace iknow_api.Services
+{
+    public class RefreshTokenService : IRefreshTokenService
+    {
+        private readonly IRefreshTokenRepository _refreshTokenRepository;
+        public RefreshTokenService(IRefreshTokenRepository refreshTokenRepository)
+        {
+            _refreshTokenRepository = refreshTokenRepository;
+        }
+
+        public async Task<string> GenerateRefreshToken(int userid)
+        {
+            var randomNumber = new byte[32];
+
+            using (var rng = RandomNumberGenerator.Create())
+            {
+                rng.GetBytes(randomNumber);
+            }
+
+            var refreshToken = Convert.ToBase64String(randomNumber);
+
+            RefreshToken refreshTokenModel = new RefreshToken
+            {
+                Token = refreshToken,
+                UserId = userid,
+                ExpiresAt = DateTime.UtcNow.AddMonths(1),
+                IsValid = true
+            };
+
+            await _refreshTokenRepository.AddTokenAsync(refreshTokenModel);
+
+            return refreshToken;
+        }
+
+        public async Task<bool> VerifyRefreshToken(VerifyRefreshTokenDto refreshTokenDto)
+        {
+
+            return await _refreshTokenRepository.VerifyTokenAsync(refreshTokenDto);
+        }
+    }
+}
