FusionAuth / fusionauth-issues

FusionAuth issue submission project
https://fusionauth.io
90 stars 12 forks source link

Investigate OpenAPI for documentation and client library generation #614

Open mooreds opened 4 years ago

mooreds commented 4 years ago

Investigate OpenAPI for documentation and client library generation

Right now FusionAuth uses https://github.com/FusionAuth/fusionauth-client-builder for building the clients and docs. This works and we have numerous client libraries.

However, there's a specification out there that may be worth evaluating -- OpenAPI (formerly swagger):

It might allow FusionAuth to accelerate the rate of new languages with client libraries by switching to OpenAPI. It might also promote more community involvement in our client libraries.

Things to consider as part of this evaluation:

Requested Client Libraries

We may easily be able to deliver these additional libraries with OpenAPI.

How to vote

If you have comments regarding OpenAPI and FusionAuth or would like to get this on our roadmap to consider, please comment and upvote the feature request.

mooreds commented 4 years ago

This has been mentioned before: https://github.com/FusionAuth/fusionauth-issues/issues/50

voidmain commented 4 years ago

Just so we don't forget: we'll need to evaluate how to parse the Java domain objects and spit out OpenAPI domain definitions.

robotdan commented 4 years ago

We can likely tweak our Java-2-JSON library to build the DSL expected by OpenAPI. Perhaps we should open source it. https://github.com/inversoft/java2json

robotdan commented 4 years ago

Related https://github.com/FusionAuth/fusionauth-client-builder/issues/19

mooreds commented 4 years ago

Also worth looking at if/when this is implemented: https://github.com/Endava/cats

mooreds commented 3 years ago

Interesting links/discussion here: https://news.ycombinator.com/item?id=26575455

koshkarov commented 2 years ago

We'd love to have OpenAPI spec, as it will allow us to easily test, generate client, etc. Please consider using it, that'd be super helpful.

mooreds commented 2 years ago

@koshkarov thanks for your feedback; please upvote the issue as that is how we measure community feedback when planning.

pendenga commented 2 years ago

I upvoted this, but also like to mention my use case. I've been doing a lot of debugging and support directly in the API using Postman. Postman can build the collection automatically given an OpenAPI spec, so that's my interest. I have my own collection I've been putting together as I go along, but it'd be nice to have one built from a definitive spec.

mooreds commented 2 years ago

Hi folks, we have experimental openapi support that I just released.

Here's the github repo: https://github.com/fusionauth/fusionauth-openapi with the spec and a readme with known issues.

It's also available via the https://fusionauth.io/docs/v1/tech/client-libraries/openapi/

Please pull down the openapi doc (only for 1.32.1 right now) and give it a whirl. Would welcome feedback about:

I'm going to leave this issue open for a while for comments. Would love to hear from @koshkarov @pendenga and anyone else who voted.

mooreds commented 1 year ago

More on openapi/link fest: