func (c Claims) Expiration() (time.Time, bool) {
	return jwt.Claims(c).Expiration()
}
Expiration retrieves claim "exp" per its type in
https://tools.ietf.org/html/rfc7519#section-4.1.4
package jws
import (
	"encoding/json"
	"time"
	"github.com/SermoDigital/jose"
	"github.com/SermoDigital/jose/jwt"
)
type Claims jwt.Claims
func (c Claims) Get(key string) interface{} {
	return jwt.Claims(c).Get(key)
}
func (c Claims) Set(key string, val interface{}) {
	jwt.Claims(c).Set(key, val)
}
func (c Claims) Del(key string) {
	jwt.Claims(c).Del(key)
}
func (c Claims) Has(key string) bool {
	return jwt.Claims(c).Has(key)
}
func (c Claims) MarshalJSON() ([]byte, error) {
	return jwt.Claims(c).MarshalJSON()
}
func (c Claims) Base64() ([]byte, error) {
	return jwt.Claims(c).Base64()
}
func (c *Claims) UnmarshalJSON(b []byte) error {
	if b == nil {
		return nil
	}
	b, err := jose.DecodeEscaped(b)
	if err != nil {
		return err
	}
	tmp := map[string]interface{}(*c)
	if err = json.Unmarshal(b, &tmp); err != nil {
		return err
	}
	*c = Claims(tmp)
	return nil
}
func (c Claims) Issuer() (string, bool) {
	return jwt.Claims(c).Issuer()
}
func (c Claims) Subject() (string, bool) {
	return jwt.Claims(c).Subject()
}
func (c Claims) Audience() ([]string, bool) {
	return jwt.Claims(c).Audience()
}