What's new?
All the changes introduced in this release can be found on GitHub, but here's a recap of the most important ones:
OpenIddict now ships with a native Quartz.NET 3.2 integration
To help with housecleaning and remove authorization and token entries that are no longer valid from the database, OpenIddict now comes with a new OpenIddict.Quartz
plugin that you can enable in a few lines of code.
First, you need to register the Quartz.NET services and configure it to use DI and an in-memory store:
1 | services.AddQuartz(options => |
Then, you need to enable the Quartz/.NET generic host integration.
1 | services.AddQuartzHostedService(options => options.WaitForJobsToComplete = true); |
Finally, you'll need to register the OpenIddict job:
1 | services.AddOpenIddict() |
Once registered, the OpenIddict job will start removing invalid entries approximately 2 minutes after the application starts and will do that every hour (assuming your app is still running).
To keep track of recently expired entries, the OpenIddict job will only remove authorizations and tokens whose lifespan is of at least 14 days. This value can be changed via OpenIddictQuartzBuilder
but cannot be less than 10 minutes.
Special thanks to Quartz.NET's maintainer, Marko Lahma, for reviewing the PR that added this feature and for the great job he did with Quartz.NET 3.2 (that was released earlier today).
OpenIddict now speaks 12 languages!
Thanks to fantastic contributions from the community, 10 additional languages have been added in this release:
Language | Contributor |
---|---|
Arabic | Hisham Bin Ateya |
Deutsch | Johann Wimmer |
Dutch | Maarten Balliauw |
Gujarati | Ashish Patel |
Hindi | Ashish Patel |
Italian | Massimiliano Donini |
Simplified Chinese | Chino Chang |
Spanish | Bart Calixto |
Traditional Chinese | Chino Chang |
Turkish | Serkan Zengin |
options.EnableAuthorizationEndpointCaching()
and options.EnableLogoutEndpointCaching()
have a new name
Feedback indicated that options.EnableAuthorizationEndpointCaching()
and options.EnableLogoutEndpointCaching()
's current name was not ideal. To fix that, these methods were renamed to options.EnableAuthorizationRequestCaching()
and options.EnableLogoutRequestCaching()
.
This post is also a good opportunity to thank Sébastien Ros, Andrew and Mr.i, who now sponsor me on GitHub. Thank you very much!