21 lines
711 B
Go
21 lines
711 B
Go
package verificationimp
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/go-chi/jwtauth/v5"
|
|
"github.com/tech/sendico/pkg/model"
|
|
"github.com/tech/sendico/server/interface/api/sresponse"
|
|
emodel "github.com/tech/sendico/server/interface/model"
|
|
)
|
|
|
|
func (a *VerificationAPI) createAccessToken(account *model.Account, clientID string) (sresponse.TokenData, error) {
|
|
ja := jwtauth.New(a.signature.Algorithm, a.signature.PrivateKey, a.signature.PublicKey)
|
|
_, res, err := ja.Encode(emodel.Account2ClaimsForClient(account, a.tokenConfig.Expiration.Account, clientID))
|
|
token := sresponse.TokenData{
|
|
Token: res,
|
|
Expiration: time.Now().Add(time.Duration(a.tokenConfig.Expiration.Account) * time.Hour),
|
|
}
|
|
return token, err
|
|
}
|