auth/jwt/header.go
2025-01-17 01:30:05 +03:00

31 lines
526 B
Go

package jwt
import (
"encoding/base64"
"git.daebt.dev/golang/auth/algo"
)
type Header struct {
*Map
}
func (h *Header) GetKeyId() ([]byte, error) {
var val string
if err := h.Unmarshal("kid", &val); err != nil {
return nil, err
}
return base64.RawURLEncoding.DecodeString(val)
}
func (h *Header) GetType() (string, error) {
var val string
return val, h.Unmarshal("typ", &val)
}
func (h *Header) GetAlgorithm() (algo.AlgorithmType, error) {
var val algo.AlgorithmType
return val, h.Unmarshal("alg", &val)
}