app-cloudep-permission-server/internal/logic/tokenservice/validation_token_logic.go

51 lines
1.4 KiB
Go
Raw Normal View History

package tokenservicelogic
import (
"context"
2025-02-13 11:06:51 +00:00
"code.30cm.net/digimon/app-cloudep-permission-server/gen_result/pb/permission"
2025-02-12 01:51:46 +00:00
"code.30cm.net/digimon/app-cloudep-permission-server/internal/svc"
2025-02-28 07:28:31 +00:00
"code.30cm.net/digimon/app-cloudep-permission-server/pkg/domain/usecase"
"github.com/zeromicro/go-zero/core/logx"
)
type ValidationTokenLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewValidationTokenLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ValidationTokenLogic {
return &ValidationTokenLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
// ValidationToken 驗證這個 Token 有沒有效
2025-02-13 11:06:51 +00:00
func (l *ValidationTokenLogic) ValidationToken(in *permission.ValidationTokenReq) (*permission.ValidationTokenResp, error) {
2025-02-28 07:28:31 +00:00
token, err := l.svcCtx.TokenUseCase.VerifyToken(l.ctx, usecase.TokenRequest{
Token: in.GetToken(),
})
if err != nil {
return nil, err
}
2025-02-28 07:28:31 +00:00
return &permission.ValidationTokenResp{
Token: &permission.Token{
Id: token.Token.ID,
ClientId: 1,
DeviceId: token.Token.DeviceID,
AccessToken: token.Token.AccessToken,
ExpiresIn: token.Token.ExpiresIn,
AccessCreateAt: token.Token.AccessCreateAt,
RefreshToken: token.Token.RefreshToken,
RefreshExpiresIn: token.Token.RefreshExpiresIn,
RefreshCreateAt: token.Token.RefreshCreateAt,
},
Data: token.Data,
}, nil
}