Fixed PublicKey JSON Marshaling
Fixed PublicKey JSON Marshaling

Because the `MarshalJSON()` method implemented by `jose/JWK` has a pointer receiver, we must pass a pointer to it. Otherwise, the method is never called when a `key/PublicKey` instance is marshaled, the Go default MarshalJSON function is used on `jose/JWK`. Consequently, the JSON data for a PublicKey is invalid (i.e. modulus and exponent are not properly encoded) and it is impossible to unmarshal it back to a valid PublicKey.
coreos/go-oidc,coreos/go-oidc