FlattenAudience is a flag to specify if we should flatten the "aud" entry to a string when there's only one entry. In jwx < 1.1.8 we just dumped everything as an array of strings, but apparently AWS Cognito doesn't handle this well.
So now we have the ability to dump "aud" as a string if there's only one entry, but we need to retain the old behavior so that we don't accidentally break somebody else's code. (e.g. messing up how signatures are calculated)
var FlattenAudience uint32
func AssignNextBytesToken(dst *[]byte, dec *Decoder) error
func AssignNextStringToken(dst **string, dec *Decoder) error
func DecoderSettings(inUseNumber bool)
Sets the global configuration for json decoding
func EncodeAudience(enc *Encoder, aud []string) error
func Engine() string
func Marshal(v interface{}) ([]byte, error)
Marshal is just a proxy for "encoding/json".Marshal
func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error)
MarshalIndent is just a proxy for "encoding/json".MarshalIndent
func NewDecoder(r io.Reader) *json.Decoder
NewDecoder respects the values specified in DecoderSettings, and creates a Decoder that has certain features turned on/off
func NewEncoder(w io.Writer) *json.Encoder
func ReadNextStringToken(dec *Decoder) (string, error)
func Unmarshal(b []byte, v interface{}) error
Unmarshal respects the values specified in DecoderSettings, and uses a Decoder that has certain features turned on/off
DecodeCtx is an interface for objects that needs that extra something when decoding JSON into an object.
type DecodeCtx interface { Registry() *Registry }
func NewDecodeCtx(r *Registry) DecodeCtx
DecodeCtxContainer is used to differentiate objects that can carry extra decoding hints and those who can't.
type DecodeCtxContainer interface { DecodeCtx() DecodeCtx SetDecodeCtx(DecodeCtx) }
type Decoder = json.Decoder
type Delim = json.Delim
type Encoder = json.Encoder
type Marshaler = json.Marshaler
type Number = json.Number
type RawMessage = json.RawMessage
type Registry struct {
// contains filtered or unexported fields
}
func NewRegistry() *Registry
func (r *Registry) Decode(dec *Decoder, name string) (interface{}, error)
func (r *Registry) Register(name string, object interface{})
type Unmarshaler = json.Unmarshaler