31 lines
526 B
Go
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)
|
|
}
|