Download internal/jwt.go from bg5/zai2api3: direct link, hf CLI and curl.
- Browser
- Download file 789 Bytes
-
https://huggingface.co/spaces/bg5/zai2api3/resolve/main/internal/jwt.go
- Command line
-
hf download hf://spaces/bg5/zai2api3/internal/jwt.go
-
curl -L -o jwt.go https://huggingface.co/spaces/bg5/zai2api3/resolve/main/internal/jwt.go
789 Bytes
| package internal | |
| import ( | |
| "encoding/base64" | |
| "encoding/json" | |
| "strings" | |
| ) | |
| type JWTPayload struct { | |
| ID string `json:"id"` | |
| Email string `json:"email"` | |
| } | |
| func DecodeJWTPayload(token string) (*JWTPayload, error) { | |
| parts := strings.Split(token, ".") | |
| if len(parts) < 2 { | |
| return nil, nil | |
| } | |
| payload := parts[1] | |
| // Add padding if needed | |
| if padding := 4 - len(payload)%4; padding != 4 { | |
| payload += strings.Repeat("=", padding) | |
| } | |
| decoded, err := base64.URLEncoding.DecodeString(payload) | |
| if err != nil { | |
| decoded, err = base64.RawURLEncoding.DecodeString(parts[1]) | |
| if err != nil { | |
| return nil, err | |
| } | |
| } | |
| var result JWTPayload | |
| if err := json.Unmarshal(decoded, &result); err != nil { | |
| return nil, err | |
| } | |
| return &result, nil | |
| } | |