refactor to improve database operability in hwsauth
This commit is contained in:
@@ -8,13 +8,13 @@ import (
|
||||
)
|
||||
|
||||
// Attempt to use a valid refresh token to generate a new token pair
|
||||
func (auth *Authenticator[T]) refreshAuthTokens(
|
||||
tx DBTransaction,
|
||||
func (auth *Authenticator[T, TX]) refreshAuthTokens(
|
||||
tx TX,
|
||||
w http.ResponseWriter,
|
||||
r *http.Request,
|
||||
rT *jwt.RefreshToken,
|
||||
) (T, error) {
|
||||
model, err := auth.load(tx, rT.SUB)
|
||||
model, err := auth.load(r.Context(), tx, rT.SUB)
|
||||
if err != nil {
|
||||
return getNil[T](), errors.Wrap(err, "auth.load")
|
||||
}
|
||||
@@ -25,12 +25,12 @@ func (auth *Authenticator[T]) refreshAuthTokens(
|
||||
}[rT.TTL]
|
||||
|
||||
// Set fresh to true because new tokens coming from refresh request
|
||||
err = jwt.SetTokenCookies(w, r, auth.tokenGenerator, model.ID(), false, rememberMe, auth.SSL)
|
||||
err = jwt.SetTokenCookies(w, r, auth.tokenGenerator, model.GetID(), false, rememberMe, auth.SSL)
|
||||
if err != nil {
|
||||
return getNil[T](), errors.Wrap(err, "jwt.SetTokenCookies")
|
||||
}
|
||||
// New tokens sent, revoke the old tokens
|
||||
err = rT.Revoke(tx)
|
||||
err = rT.Revoke(jwt.DBTransaction(tx))
|
||||
if err != nil {
|
||||
return getNil[T](), errors.Wrap(err, "rT.Revoke")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user