Files
web-core-fr-gp/auth/auth.go
T

44 lines
980 B
Go
Raw Normal View History

2018-10-14 15:35:33 -04:00
package auth
import (
2020-09-22 22:06:36 +00:00
uuid "github.com/gofrs/uuid"
2018-10-14 15:35:33 -04:00
"github.com/writeas/web-core/log"
"strings"
)
// GetToken parses out the user token from either an Authorization header or simply passed in.
func GetToken(header string) []byte {
var accessToken []byte
token := header
if len(header) > 0 {
f := strings.Fields(header)
if len(f) == 2 && f[0] == "Token" {
token = f[1]
}
}
2020-09-22 22:06:36 +00:00
t, err := uuid.FromString(token)
2018-10-14 15:35:33 -04:00
if err != nil {
log.Error("Couldn't parseHex on '%s': %v", accessToken, err)
} else {
accessToken = t[:]
}
return accessToken
}
// GetHeaderToken parses out the user token from an Authorization header.
func GetHeaderToken(header string) []byte {
var accessToken []byte
if len(header) > 0 {
f := strings.Fields(header)
if len(f) == 2 && f[0] == "Token" {
2020-09-22 22:06:36 +00:00
t, err := uuid.FromString(f[1])
2018-10-14 15:35:33 -04:00
if err != nil {
log.Error("Couldn't parseHex on '%s': %v", accessToken, err)
} else {
accessToken = t[:]
}
}
}
return accessToken
}