openiddict / openiddict-core

Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
https://openiddict.com/
Apache License 2.0
4.47k stars 528 forks source link

Add OpenIddict.AmazonDynamoDB to third party list #2136

Closed ganhammar closed 4 months ago

ganhammar commented 4 months ago

Hey!

Thanks for this great package!

I have written an Amazon DynamoDB adapter for OpenIddict and wondered if you would be interested to add it to the list of third party projects? It is fairly battle tested at this point. I added it to the end of the list, but, it seems like the list might be alphabetically sorted, should I fixed that?

I also have a blog post where I walkthrough how to use it that could be added to the list of blog posts, if that would be of interest? 🙂

kevinchalet commented 4 months ago

Hey Anton!

Thanks for this great package!

Thanks! ❤️

I have written an Amazon DynamoDB adapter for OpenIddict and wondered if you would be interested to add it to the list of third party projects? It is fairly battle tested at this point.

Awesome! 👏🏻

I added it to the end of the list, but, it seems like the list might be alphabetically sorted, should I fixed that?

Yes please 👍🏻

I also have a blog post where I walkthrough how to use it that could be added to the list of blog posts, if that would be of interest? 🙂

Sure, please add it to the list (at the top since it's a very recent post).

I see you opted for Results.BadRequest() to return an error to the caller: it works but it's not the recommended option as it doesn't allow re-entering the OpenIddict pipeline to process that error (which means that you can't customize it and that a 400 response instead of a 401 response - more appropriate for invalid_client - will be returned).

Instead, you may want to use Results.Challenge() or Results.Forbidden() (both do the same thing in OpenIddict):

return Results.Challenge(
    authenticationSchemes: [OpenIddictServerAspNetCoreDefaults.AuthenticationScheme],
    properties: new AuthenticationProperties(new Dictionary<string, string>
    {
        [OpenIddictServerAspNetCoreConstants.Properties.Error] = Errors.InvalidClient,
        [OpenIddictServerAspNetCoreConstants.Properties.ErrorDescription] = "The specified hardcoded identity is invalid."
    }));
ganhammar commented 4 months ago

Thanks for the quick response!

I have updated the sorting of the third party list, added the blog post to the list, and updated the post (and reference project) according to your feedback! Thanks! 👍

kevinchalet commented 4 months ago

Great! While we're at it, could you also please update the docs to add your DynamoDB package? https://github.com/openiddict/openiddict-documentation/blob/dev/integrations/index.md