diff options
| author | Rutger Broekhoff | 2024-01-02 18:56:31 +0100 |
|---|---|---|
| committer | Rutger Broekhoff | 2024-01-02 18:56:31 +0100 |
| commit | 8db41da676ac8368ef7c2549d56239a5ff5eedde (patch) | |
| tree | 09c427fd66de2ec1ebffc8342f5fdbb84b0701b5 /vendor/github.com/golang-jwt/jwt/v5/map_claims.go | |
| parent | d4f75fb6db22e57577867445a022227e70958931 (diff) | |
| download | gitolfs3-8db41da676ac8368ef7c2549d56239a5ff5eedde.tar.gz gitolfs3-8db41da676ac8368ef7c2549d56239a5ff5eedde.zip | |
Delete vendor directory
Diffstat (limited to 'vendor/github.com/golang-jwt/jwt/v5/map_claims.go')
| -rw-r--r-- | vendor/github.com/golang-jwt/jwt/v5/map_claims.go | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/vendor/github.com/golang-jwt/jwt/v5/map_claims.go b/vendor/github.com/golang-jwt/jwt/v5/map_claims.go deleted file mode 100644 index b2b51a1..0000000 --- a/vendor/github.com/golang-jwt/jwt/v5/map_claims.go +++ /dev/null | |||
| @@ -1,109 +0,0 @@ | |||
| 1 | package jwt | ||
| 2 | |||
| 3 | import ( | ||
| 4 | "encoding/json" | ||
| 5 | "fmt" | ||
| 6 | ) | ||
| 7 | |||
| 8 | // MapClaims is a claims type that uses the map[string]interface{} for JSON | ||
| 9 | // decoding. This is the default claims type if you don't supply one | ||
| 10 | type MapClaims map[string]interface{} | ||
| 11 | |||
| 12 | // GetExpirationTime implements the Claims interface. | ||
| 13 | func (m MapClaims) GetExpirationTime() (*NumericDate, error) { | ||
| 14 | return m.parseNumericDate("exp") | ||
| 15 | } | ||
| 16 | |||
| 17 | // GetNotBefore implements the Claims interface. | ||
| 18 | func (m MapClaims) GetNotBefore() (*NumericDate, error) { | ||
| 19 | return m.parseNumericDate("nbf") | ||
| 20 | } | ||
| 21 | |||
| 22 | // GetIssuedAt implements the Claims interface. | ||
| 23 | func (m MapClaims) GetIssuedAt() (*NumericDate, error) { | ||
| 24 | return m.parseNumericDate("iat") | ||
| 25 | } | ||
| 26 | |||
| 27 | // GetAudience implements the Claims interface. | ||
| 28 | func (m MapClaims) GetAudience() (ClaimStrings, error) { | ||
| 29 | return m.parseClaimsString("aud") | ||
| 30 | } | ||
| 31 | |||
| 32 | // GetIssuer implements the Claims interface. | ||
| 33 | func (m MapClaims) GetIssuer() (string, error) { | ||
| 34 | return m.parseString("iss") | ||
| 35 | } | ||
| 36 | |||
| 37 | // GetSubject implements the Claims interface. | ||
| 38 | func (m MapClaims) GetSubject() (string, error) { | ||
| 39 | return m.parseString("sub") | ||
| 40 | } | ||
| 41 | |||
| 42 | // parseNumericDate tries to parse a key in the map claims type as a number | ||
| 43 | // date. This will succeed, if the underlying type is either a [float64] or a | ||
| 44 | // [json.Number]. Otherwise, nil will be returned. | ||
| 45 | func (m MapClaims) parseNumericDate(key string) (*NumericDate, error) { | ||
| 46 | v, ok := m[key] | ||
| 47 | if !ok { | ||
| 48 | return nil, nil | ||
| 49 | } | ||
| 50 | |||
| 51 | switch exp := v.(type) { | ||
| 52 | case float64: | ||
| 53 | if exp == 0 { | ||
| 54 | return nil, nil | ||
| 55 | } | ||
| 56 | |||
| 57 | return newNumericDateFromSeconds(exp), nil | ||
| 58 | case json.Number: | ||
| 59 | v, _ := exp.Float64() | ||
| 60 | |||
| 61 | return newNumericDateFromSeconds(v), nil | ||
| 62 | } | ||
| 63 | |||
| 64 | return nil, newError(fmt.Sprintf("%s is invalid", key), ErrInvalidType) | ||
| 65 | } | ||
| 66 | |||
| 67 | // parseClaimsString tries to parse a key in the map claims type as a | ||
| 68 | // [ClaimsStrings] type, which can either be a string or an array of string. | ||
| 69 | func (m MapClaims) parseClaimsString(key string) (ClaimStrings, error) { | ||
| 70 | var cs []string | ||
| 71 | switch v := m[key].(type) { | ||
| 72 | case string: | ||
| 73 | cs = append(cs, v) | ||
| 74 | case []string: | ||
| 75 | cs = v | ||
| 76 | case []interface{}: | ||
| 77 | for _, a := range v { | ||
| 78 | vs, ok := a.(string) | ||
| 79 | if !ok { | ||
| 80 | return nil, newError(fmt.Sprintf("%s is invalid", key), ErrInvalidType) | ||
| 81 | } | ||
| 82 | cs = append(cs, vs) | ||
| 83 | } | ||
| 84 | } | ||
| 85 | |||
| 86 | return cs, nil | ||
| 87 | } | ||
| 88 | |||
| 89 | // parseString tries to parse a key in the map claims type as a [string] type. | ||
| 90 | // If the key does not exist, an empty string is returned. If the key has the | ||
| 91 | // wrong type, an error is returned. | ||
| 92 | func (m MapClaims) parseString(key string) (string, error) { | ||
| 93 | var ( | ||
| 94 | ok bool | ||
| 95 | raw interface{} | ||
| 96 | iss string | ||
| 97 | ) | ||
| 98 | raw, ok = m[key] | ||
| 99 | if !ok { | ||
| 100 | return "", nil | ||
| 101 | } | ||
| 102 | |||
| 103 | iss, ok = raw.(string) | ||
| 104 | if !ok { | ||
| 105 | return "", newError(fmt.Sprintf("%s is invalid", key), ErrInvalidType) | ||
| 106 | } | ||
| 107 | |||
| 108 | return iss, nil | ||
| 109 | } | ||