(t *testing.T)
| 137 | } |
| 138 | |
| 139 | func TestParseInsecure(t *testing.T) { |
| 140 | mustJoseClaims := func(tok string) jose.Claims { |
| 141 | jwt, err := jose.ParseSigned(tok) |
| 142 | if err != nil { |
| 143 | t.Fatal(err) |
| 144 | } |
| 145 | var c jose.Claims |
| 146 | if err := jwt.UnsafeClaimsWithoutVerification(&c); err != nil { |
| 147 | t.Fatal(err) |
| 148 | } |
| 149 | return c |
| 150 | } |
| 151 | mustBase64 := func(s string) []byte { |
| 152 | b64, err := base64.StdEncoding.DecodeString(s) |
| 153 | if err != nil { |
| 154 | t.Fatal(err) |
| 155 | } |
| 156 | return b64 |
| 157 | } |
| 158 | |
| 159 | type args struct { |
| 160 | token string |
| 161 | } |
| 162 | tests := []struct { |
| 163 | name string |
| 164 | args args |
| 165 | want Payload |
| 166 | wantErr bool |
| 167 | }{ |
| 168 | {"ok JWK", args{jwkToken}, Payload{ |
| 169 | Claims: mustJoseClaims(jwkToken), |
| 170 | SHA: "2dd4f7d653c5a4f18248a903c6e3d67b1704923419c9f744fd680fc65242f3b2", |
| 171 | SANs: []string{"foo.bar.zar"}, |
| 172 | }, false}, |
| 173 | {"ok OIDC", args{oidcToken}, Payload{ |
| 174 | Claims: mustJoseClaims(oidcToken), |
| 175 | AuthorizedParty: "1087160488420-8qt7bavg3qesdhs6it824mhnfgcfe8il.apps.googleusercontent.com", |
| 176 | AtHash: "YU2TASx-n660jQfNoHvHyg", |
| 177 | Email: "mariano@smallstep.com", |
| 178 | EmailVerified: true, |
| 179 | Hd: "smallstep.com", |
| 180 | Nonce: "8eda056b32220adcb6a27163571df253a7639f34ad64441b2429a3de2c5d7eaf", |
| 181 | }, false}, |
| 182 | {"ok GCP", args{gcpToken}, Payload{ |
| 183 | Claims: mustJoseClaims(gcpToken), |
| 184 | AuthorizedParty: "106652250211606546223", |
| 185 | Email: "847250625900-compute@developer.gserviceaccount.com", |
| 186 | EmailVerified: true, |
| 187 | Google: &GCPGooglePayload{ |
| 188 | ComputeEngine: GCPComputeEnginePayload{ |
| 189 | InstanceID: "3015378661047007286", |
| 190 | InstanceName: "kops-admin", |
| 191 | InstanceCreationTimestamp: jose.NewNumericDate(time.Unix(1555441346, 0)), |
| 192 | ProjectID: "kops-dev-2019-01", |
| 193 | ProjectNumber: 847250625900, |
| 194 | Zone: "us-central1-c", |
| 195 | }, |
| 196 | }, |
nothing calls this directly
no test coverage detected
searching dependent graphs…