-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtoken_generator.go
33 lines (26 loc) · 1.1 KB
/
token_generator.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
package niso
import (
"encoding/base64"
"github.com/pborman/uuid"
)
// DefaultAuthorizeTokenGenerator is the default authorization token generator
type DefaultAuthorizeTokenGenerator struct {
}
// GenerateAuthorizeToken generates a base64-encoded UUID code
func (a *DefaultAuthorizeTokenGenerator) GenerateAuthorizeToken(data *AuthorizationData) (string, error) {
token := uuid.NewRandom()
return base64.RawURLEncoding.EncodeToString([]byte(token)), nil
}
// DefaultAccessTokenGenerator is the default authorization token generator
type DefaultAccessTokenGenerator struct {
}
// GenerateAccessToken generates base64-encoded UUID access and refresh tokens
func (a *DefaultAccessTokenGenerator) GenerateAccessToken(ar *AccessData) (string, error) {
token := uuid.NewRandom()
return base64.RawURLEncoding.EncodeToString([]byte(token)), nil
}
// GenerateRefreshToken generates base64-encoded UUID access and refresh tokens
func (a *DefaultAccessTokenGenerator) GenerateRefreshToken(ar *RefreshTokenData) (string, error) {
token := uuid.NewRandom()
return base64.RawURLEncoding.EncodeToString([]byte(token)), nil
}