Skip to content

Releases: MicahParks/keyfunc

Expose HTTP client as an option

08 Oct 00:29
f745eff

Choose a tag to compare

The purpose of this release is to expose an option to override the *http.DefaultClient.

Relevant pull requests:

Ignore unsupported keys by default

20 Sep 19:54
5e8bfb4

Choose a tag to compare

The purpose of this release is to ignore unsupported keys in a JWK Set by default.

Relevant issues:

Relevant pull requests:

HTTPTimeout override

04 Aug 23:30
c023fc8

Choose a tag to compare

The purpose of this release is to expose the HTTPTimeout override.

This modified the HTTP client behavior in the jwkset project.

Relevant pull requests:

Return all when no key ID

03 Aug 13:40
a06db56

Choose a tag to compare

The purpose of this release is to return all keys for JWT for signature verification when the token has no key ID, kid, header. This is enabled by the jwt.VerificationKeySet feature.

This should allow use cases that do not use the without the kid to use this project.

Relevant issues:

Relevant pull requests:

Override defaults

28 May 12:06
83c760a

Choose a tag to compare

The purpose of this release is to add the NewDefaultOverrideCtx function, which allows for defaults to be overridden.

Package users should now be able to turn JWK Set validation off as well as change other default behaviors.

Relevant issues:

Relevant pull requests:

Allow for user provided ctx during parse

25 Mar 13:23
b237e61

Choose a tag to compare

The purpose of this release is to add a new method, .KeyfuncCtx.

This new method accepts a context.Context, then returns a jwt.Keyfunc. This user provided context.Context is used during JWK lookup in the github.com/MicahParks/jwkset package when parsing JWTs. Passing a request scoped context allows the JWT parsing and JWK retrieval to cancel according to the given context.Context behavior instead of the default context.Context, which was provided at keyfunc.Keyfunc initialization.

In practice, this is used to prevent situations where many JWTs with kid not in a remote JWK Set are attempting to be parsed over a long period of time.

Relevant issues:

Relevant pull requests:

Wrap errors where appropriate

11 Jan 23:19
5bad29e

Choose a tag to compare

The purpose of this pull request is to wrap errors with errors.Join where appropriate.

Relevant issues:

Relevant pull requests:

Automatic unknown key ID refresh

10 Jan 01:49
d272c92

Choose a tag to compare

The purpose of this release is to update the jwkset dependency so that the refresh on unknown key ID feature is available by default.

See:
https://github.com/MicahParks/jwkset/releases/tag/v0.5.6

Related pull requests:

Related issues:

X.509 Thumbprint bug fix

04 Jan 01:04
8f59e07

Choose a tag to compare

JWK Sets have two X.509 thumbprint parameters that are optional. A bug in github.com/MicahParks/jwkset made these parameters required in circumstances that affect the keyfunc project. This release updates this dependency to the latest version.

Thank you, @joshkaplinsky, for reporting this bug!

Please see the below release for details:
https://github.com/MicahParks/jwkset/releases/tag/v0.5.5

V3 simplify API by using github.com/MicahParks/jwkset

16 Dec 13:37
f702240

Choose a tag to compare

This upgrade removes most of the code in this repository and outsources JWK and JWK Set related code to the updated github.com/MicahParks/jwkset package. The exported assets from the keyfunc project has been vastly reduced as well, with the intention of making it easier to use for the majority of use cases.

Note

A superset of features from V1 and V2 is available.