Thor Arne Johansen
97238f66ad
Enable refresh token support in CIMD sandbox demonstrator
Register offline_access scope and add refresh_token to the CIMD metadata
document grant_types. Preserve scopes during token exchange so refresh
tokens continue to be issued. Handle stale Identity cookies gracefully
when the database is recreated.
8 months ago
Thor Arne Johansen
9da2b5a492
Disable access token encryption in CIMD sandbox for easier debugging
8 months ago
Thor Arne Johansen
aa93d7111e
Fix CIMD token exchange by moving fetch handler to ProcessAuthenticationContext
The CIMD metadata document fetch was running in the outer
ValidateAuthorizationRequestContext pipeline, which only covers the
authorize endpoint. During token exchange, ValidateClientType runs
inside ProcessAuthenticationContext (before the outer pipeline handler)
and calls FindByClientIdAsync — which returns null because the CIMD
context was never populated for that request.
Move FetchClientIdMetadataDocument to target ProcessAuthenticationContext
with order between ValidateClientId and ValidateClientType. This ensures
the CIMD document is fetched for all endpoint types (authorize, token,
etc.) before the client type validation occurs.
8 months ago
Thor Arne Johansen
1f6d309833
Add CIMD (Client ID Metadata Document) support (Phases 1-4)
Implement draft-ietf-oauth-client-id-metadata-document-00 support,
allowing OAuth clients to use an HTTPS URL as their client_id with
the server fetching a JSON metadata document from that URL.
- Add EnableClientIdMetadataDocumentSupport option and related config
- Create OpenIddict.Server.SystemNetHttp project for HTTP outbound
metadata document fetching (following Client.SystemNetHttp patterns)
- Modify handler pipeline: ValidateClientId sets CIMD flag when
FindByClientIdAsync returns null and client_id is a valid HTTPS URL
- Add CIMD bypasses to authentication, sign-in, and token generation
handlers that look up pre-registered applications
- Validate redirect_uri against fetched metadata document
- Advertise client_id_metadata_document_supported in discovery
- Update sandbox demonstrator with CIMD support and test endpoint
8 months ago
Thor Arne Johansen
9773c098e8
Add CIMD sandbox demonstrator server (Phase 0)
Minimal ASP.NET Core server for testing CIMD support. Seeds a
pre-registered public client (test-client) and test user, supports
authorization code + PKCE and password grant flows. This serves as
the baseline to verify token issuance before adding CIMD handling.
8 months ago
Kévin Chalet
9797f86194
Replace PolySharp by the Polyfill source package and adopt ArgumentNullException.ThrowIfNull()/ArgumentException.ThrowIfNullOrEmpty()
9 months ago
Kévin Chalet
cefc4dcba9
Do not build AsyncEnumerableExtensions on .NET 10
10 months ago
Kévin Chalet
a0f39b4b5c
Polyfill ValueTask.CompletedTask and ValueTask<TResult>.CompletedTask
11 months ago
Kévin Chalet
13f352af6d
Bump the .NET SDK to 10.0.100-rc.2.25502.107 and add .NET 10 TFMs
11 months ago
Kévin Chalet
77cc46ae1b
Bump the .NET SDK/dependencies and remove the .NET 8.0 Android/iOS/Mac Catalyst/macOS target framework monikers
11 months ago
Kévin Chalet
0cb4713bbd
Bump Katana to 4.2.3 and use the new IAppBuilder.GetDefaultCookieManager() extension
1 year ago
Kévin Chalet
7267fa03b6
Introduce new methods in OpenIddictApplicationDescriptor to make working with permissions and settings easier
1 year ago
Kévin Chalet
a72febd75c
Generate access types and durations constants for the Aliba, Google, Huawei, MusicBrainz, Reddit and Zoho providers
1 year ago
Kévin Chalet
ea09c7f2fb
Update the console sandbox to use the Google integration
1 year ago
Kévin Chalet
91a68c161a
Implement client authentication support for the PAR endpoint
1 year ago
Kévin Chalet
9a74ea5e4f
Remove unnecessary view models
1 year ago
Kévin Chalet
8c94cb7c13
Implement OAuth 2.0 Token Exchange support
1 year ago
Kévin Chalet
c887672c4a
Support using Process.Start() on macOS and reintroduce the runtime checks preventing the portable version of OpenIddict.Client.SystemIntegration from being used on Android, iOS and Mac Catalyst
1 year ago
Kévin Chalet
b8315727b8
Enable nullable references support in the ASP.NET Core samples
1 year ago
Kévin Chalet
b72bfd2c40
Update the samples to clarify the relationship between the expiration of the authentication results returned by OpenIddict and the lifetime of authentication cookies based on them
1 year ago
Kévin Chalet
f8553a9ee7
Update the MapNonStandardResponseParameters userinfo handler to avoid using OpenIddictParameter.GetNamedParameters()
1 year ago
Kévin Chalet
7d90e1b9cb
Stop special-casing the prompt parameter in PAR-enabled authorization requests and update the samples to use TempData to determine whether the user should be redirected to the login endpoint
1 year ago
Kévin Chalet
0e778767ae
Bump MSBuild.SDK.SystemWeb to 4.0.97
2 years ago
Kévin Chalet
ed4c5819db
Update the ASP.NET 4.8 samples to register the ApplicationDbContext type
2 years ago
Kévin Chalet
342b7651cf
Set NuGetAuditMode to "all" to enable vulnerable transitive dependencies warnings
2 years ago
Kévin Chalet
bef75c4f56
Use the CreateAsyncScope() helper to avoid having to manually cast IServiceProvider to IAsyncDisposable
2 years ago
Kévin Chalet
e39c635631
Decorate the claim extensions with [OverloadResolutionPriority] and collection expressions for ImmutableArray<T>
2 years ago
Kévin Chalet
b17b3fe235
Update the .NET Framework and .NET Standard TFMs to target ASP.NET Core/Entity Framework Core 2.3 and .NET Extensions 8.0
2 years ago
Kévin Chalet
42d6369910
Implement Pushed Authorization Requests (PAR) support and revamp the request caching feature
2 years ago
Kévin Chalet
bd74a6caf1
Update InteractiveChallengeRequest and InteractiveSignOutRequest to support attaching an identity token or login hint
2 years ago
Kévin Chalet
878569cd3f
Update the ASP.NET Core/OWIN hosts to support returning authentication properties for errored requests
2 years ago
Kévin Chalet
6c6c9ed1db
Bump MongoDB to 3.0.0 and strong-name the MongoDB packages
2 years ago
Kévin Chalet
f5721d0c2c
Rename the GetPrompts() and HasPrompt() extensions
2 years ago
Kévin Chalet
74181aa1f5
Bump BouncyCastle, Quartz, Scriban and Wilson
2 years ago
Kévin Chalet
307d57bfe9
Bump the .NET SDK and packages
2 years ago
Kévin Chalet
e1f729ba0b
Validate prompt values specified in authorization requests and update the configuration endpoint to return "prompt_values_supported"
2 years ago
Kévin Chalet
ef2e02ee23
Introduce a new .NET 9.0 TFM and use the new X509CertificateLoader API
2 years ago
Kévin Chalet
d4c05e2e23
Rename the device, cryptography, logout and verification endpoints and the associated events/event handlers
2 years ago
Kévin Chalet
aa6733b2df
Do not limit the error controller to a specific HTTP method
2 years ago
Kévin Chalet
290e4150c2
Support the new ASWebAuthenticationSessionCallback API on iOS 17.4+/Mac Catalyst 17.4+/macOS 14.4+
2 years ago
Kévin Chalet
27968f7628
Use a TryAddEnumerable() call per service registration to avoid unnecessary allocations
2 years ago
Kévin Chalet
64330263dc
Update the WinForms sample to support High DPI
2 years ago
Kévin Chalet
725ac09a34
Update the application discriminator and instance identifier generation logic to produce shorter pipe names
2 years ago
Kévin Chalet
dde65e2ba4
Move the AddAssemblyAliasToReactiveAsync target to Directory.Build.targets
2 years ago
Kévin Chalet
60eedd12bb
Update the build workflow to select the latest Xcode version and allow building macOS/Mac Catalyst/iOS packages on macOS
2 years ago
Kévin Chalet
b6bce3e5dd
Update OpenIddict.Client.SystemIntegration to target Mac Catalyst 13.1+ and macOS 10.15+
2 years ago
Kévin Chalet
6fdaf0a6b9
Remove the .NET 7.0 iOS TFMs and update the MAUI sample to disable server certificate validation on iOS to make testing easier
2 years ago
Kévin Chalet
4f58cd615b
Update the MAUI sample to use a label instead of a modal alert
2 years ago
Kévin Chalet
b2e950efbc
Fix an issue preventing the deployment of the OpenIddict.Sandbox.Maui.Client project
2 years ago
Kévin Chalet
362a52fd14
Add a MAUI client sample
2 years ago