-
Notifications
You must be signed in to change notification settings - Fork 0
/
jwt_handler_mock.go
40 lines (34 loc) · 970 Bytes
/
jwt_handler_mock.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package utils
import (
"github.com/StevenRojas/goaccess/pkg/configuration"
"github.com/dgrijalva/jwt-go"
)
// JwtHandlerMock interface
type JwtHandlerMock interface {
CreateToken(ID string) (*StoredToken, error)
GetTokenClaims(token string) (jwt.MapClaims, error)
}
type jwtHandlerMock struct {
}
// NewJwtHandlerMock return a new JWT handler instance
func NewJwtHandlerMock(config configuration.SecurityConfig) JwtHandlerMock {
return &jwtHandlerMock{}
}
func (h *jwtHandlerMock) CreateToken(ID string) (*StoredToken, error) {
return &StoredToken{
ID: "1",
AccessToken: "a_jwt",
AccessUUID: "a_uuid",
AccessExpires: 10,
RefreshToken: "r_jwt",
RefreshUUID: "r_uuid",
RefreshExpires: 20,
}, nil
}
func (h *jwtHandlerMock) GetTokenClaims(token string) (jwt.MapClaims, error) {
claims := make(map[string]interface{})
claims["access_uuid"] = "a_uuid"
claims["user_id"] = "1"
claims["exp"] = "10"
return claims, nil
}