in assertion/pkg/tasks/assertion/verify.go [116:134]
func (t *Verify) validateHeaders(token *jwt.JSONWebToken) error {
// Token type
tokenType, ok := token.Headers[0].ExtraHeaders[jose.HeaderType]
if !ok {
return fmt.Errorf("invalid token, missing token type")
}
if tokenType != assertionHeaderType {
return fmt.Errorf("invalid token, unexpected token type '%s'", tokenType)
}
// Embedded JWK
var body map[string]interface{}
if err := token.Claims(token.Headers[0].JSONWebKey, &body); err != nil {
return fmt.Errorf("unable to validate embedded public key: %w", err)
}
// No error
return nil
}