#ZegnatWhen the client then comes to exchange the code for a token, that token is added to the same database record, turning the code storage into a token storage. Codes are automatically one-time-use, because on second try I see the token field is already filled.