in server/gcpcredential/validate.go [209:237]
func validateAndParse(credentials []string, validator validationFunc) ([]string, error) {
var emails []string
for i, token := range credentials {
claims, err := validator(token)
if err != nil {
return nil, fmt.Errorf("Error validating token in position %v: %v", i, err)
}
tokenClaims, err := parseEmailClaims(claims)
if err != nil {
fmt.Printf("Error with ID token in position %v: %v", i, err)
continue
}
if tokenClaims.Email == "" {
fmt.Printf("ID token in position %v has no email claim\n", i)
continue
}
if !tokenClaims.EmailVerified {
fmt.Printf("email claim for ID token in position %v is not verified\n", i)
continue
}
emails = append(emails, tokenClaims.Email)
}
return emails, nil
}