generate jwt

This commit is contained in:
yanghao05
2023-02-06 09:12:32 +08:00
parent afeffe2ed6
commit 0ddbeb3f7a
5 changed files with 89 additions and 16 deletions

View File

@@ -1,26 +1,34 @@
package service
import (
"atom/database/models"
"atom/modules/auth/dao"
"atom/modules/auth/dto"
"atom/providers/jwt"
"context"
)
type UserService interface {
AttachRole(context.Context, int, int) error
AuthMatchPassword(context.Context, *dto.LoginRequestForm) (*models.User, error)
GenerateJWTTokenFromUser(context.Context, *models.User) (string, error)
}
type userService struct {
userRoleDao dao.UserRoleDao
userDao dao.UserDao
jwt *jwt.JWT
}
func NewUserService(
userRoleDao dao.UserRoleDao,
userDao dao.UserDao,
jwt *jwt.JWT,
) UserService {
return &userService{
userRoleDao: userRoleDao,
userDao: userDao,
jwt: jwt,
}
}
@@ -37,3 +45,24 @@ func (svc *userService) DetachRole(ctx context.Context, userID, roleID int) erro
}
return svc.userRoleDao.Delete(ctx, userID, roleID)
}
func (svc *userService) AuthMatchPassword(ctx context.Context, req *dto.LoginRequestForm) (*models.User, error) {
return &models.User{
ID: 10,
UUID: "1",
Username: "2",
Password: "3",
Nickname: "4",
Avatar: "5",
RoleID: 66,
}, nil
}
func (svc *userService) GenerateJWTTokenFromUser(ctx context.Context, user *models.User) (string, error) {
return svc.jwt.CreateToken(svc.jwt.CreateClaims(jwt.BaseClaims{
UUID: user.UUID,
UserID: user.ID,
Username: user.Username,
NickName: user.Nickname,
RoleID: user.RoleID,
}))
}