github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/itokens-payloads/impl.go (about) 1 /* 2 * Copyright (c) 2022-present unTill Pro, Ltd. 3 */ 4 5 package payloads 6 7 import ( 8 "time" 9 10 "github.com/voedger/voedger/pkg/istructs" 11 ) 12 13 func (at *implIAppTokens) IssueToken(duration time.Duration, pointerToPayload interface{}) (token string, err error) { 14 return at.itokens.IssueToken(at.appQName, duration, pointerToPayload) 15 } 16 17 func (at *implIAppTokens) ValidateToken(token string, pointerToPayload interface{}) (gp istructs.GenericPayload, err error) { 18 if gp, err = at.itokens.ValidateToken(token, pointerToPayload); err != nil { 19 return 20 } 21 if gp.AppQName != at.appQName { 22 err = ErrTokenIssuedForAnotherApp 23 } 24 return 25 } 26 27 func (atf *implIAppTokensFactory) New(app istructs.AppQName) istructs.IAppTokens { 28 return &implIAppTokens{ 29 itokens: atf.tokens, 30 appQName: app, 31 } 32 }