52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package accountlogic
|
|
|
|
import (
|
|
"context"
|
|
|
|
"code.30cm.net/digimon/app-cloudep-member-server/pkg/domain/usecase"
|
|
|
|
"code.30cm.net/digimon/app-cloudep-member-server/gen_result/pb/member"
|
|
"code.30cm.net/digimon/app-cloudep-member-server/internal/svc"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
type VerifyGoogleAuthResultLogic struct {
|
|
ctx context.Context
|
|
svcCtx *svc.ServiceContext
|
|
logx.Logger
|
|
}
|
|
|
|
func NewVerifyGoogleAuthResultLogic(ctx context.Context, svcCtx *svc.ServiceContext) *VerifyGoogleAuthResultLogic {
|
|
return &VerifyGoogleAuthResultLogic{
|
|
ctx: ctx,
|
|
svcCtx: svcCtx,
|
|
Logger: logx.WithContext(ctx),
|
|
}
|
|
}
|
|
|
|
// VerifyGoogleAuthResult 驗證 google 登入是否有效
|
|
func (l *VerifyGoogleAuthResultLogic) VerifyGoogleAuthResult(in *member.VerifyAuthResultReq) (*member.VerifyGoogleAuthResultResp, error) {
|
|
result, err := l.svcCtx.AccountUseCase.VerifyGoogleAuthResult(l.ctx, usecase.VerifyAuthResultRequest{
|
|
Account: in.GetAccount(),
|
|
Token: in.GetToken(),
|
|
})
|
|
if err != nil {
|
|
return &member.VerifyGoogleAuthResultResp{
|
|
Status: false,
|
|
}, err
|
|
}
|
|
|
|
return &member.VerifyGoogleAuthResultResp{
|
|
Status: true,
|
|
Iss: &result.Iss,
|
|
Aud: &result.Aud,
|
|
Exp: &result.Exp,
|
|
Iat: &result.Iat,
|
|
Email: &result.Email,
|
|
EmailVerified: &result.EmailVerified,
|
|
Name: &result.Name,
|
|
Picture: &result.Picture,
|
|
}, nil
|
|
}
|