Reading about JWT I see it is common practice to include a refresh token along with the short lived token. So commonly it seems you have a short lived token which lasts for a short time such as 15 minutes, and a refresh token which renews this token when it is expired. From my understanding if the short lived token has expired the app must check to make sure the refresh token has not been revoked (check database). If it has not, then issue a new short lived token. I am trying to understand why not just have a single short lived token.
Lets assume the jwt token contains the username of the user using the token and expires in 1 hour. When it expires, can't my application server verify this token to make sure it is actually expired and it has been issued by me, if so check (inside of database) that this user can have their token renewed and renew it. Is this not essentially the same as having a refresh token, but it is a little simpler as I the user only has 1 token instead of 2? I cannot see the advantage of having a refresh token?