fusionauth / fusionauth-client-builder Goto Github PK
View Code? Open in Web Editor NEWThe FusionAuth client library builder
Home Page: https://fusionauth.io/
License: Apache License 2.0
The FusionAuth client library builder
Home Page: https://fusionauth.io/
License: Apache License 2.0
I've noticed that all of the client library repositories start with fusionauth. In languages like go, this leads to package stuttering (fusionauth/fusionauth-go-client
). Any reason why it shouldn't just be {language}-client
?
Hey team,
As a nice to have, it would be great to conform to standard Go code formatting by running go fmt
on both files after generation ๐
Makes it more uniform when reading/reviewing Go code ๐
(I would imagine this to be a similar thing with dart and dart format
)
In ./src/main/api/deleteKey.json
keyId
is referenced as keyOd
.
I've setup Savant on Windows, but run into a problem when I try to generate the netcore client.
I've downloaded the compiled version of Savant from http://savant.inversoft.org/org/savantbuild/savant-core/1.0.0/savant-1.0.0.tar.gz and extracted it. So far so good. I've added the bin folder to my path. First problem I ran into was that the org.savantbuild.run.Main
wasn't found. After some research I found out that it had to be org.savantbuild.runtime.Main
. So after setting this up correctly I run into the following error, which I can't resolve:
Build failed due to an exception or error. freemarker.template.TemplateNotFoundException: Template not found for name "C:\\Projects\\fusionauth\\fusionauth-client-builder\\src\\main\\client\\netcore.client.ftl". The name was interpreted by this TemplateLoader: FileTemplateLoader(baseDir="C:\", canonicalBasePath="C:\"). Warning: The name contains backslash ("\") instead of slash ("/"); template names should use slash only. at freemarker.template.Configuration.getTemplate(Configuration.java:2797) at freemarker.template.Configuration.getTemplate(Configuration.java:2599) at freemarker.template.Configuration$getTemplate$3.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at com.inversoft.savant.plugin.clientLibrary.ClientLibraryPlugin.outputFile(ClientLibraryPlugin.groovy:101) at com.inversoft.savant.plugin.clientLibrary.ClientLibraryPlugin$outputFile$0.callCurrent(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:190) at com.inversoft.savant.plugin.clientLibrary.ClientLibraryPlugin.buildClient(ClientLibraryPlugin.groovy:97) at com.inversoft.savant.plugin.clientLibrary.ClientLibraryPlugin$buildClient.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at build$_run_closure13.doCall(build.savant:125) at build$_run_closure13.doCall(build.savant) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1021) at groovy.lang.Closure.call(Closure.java:426) at groovy.lang.Closure.call(Closure.java:420) at groovy.lang.Closure.run(Closure.java:507) at org.savantbuild.runtime.DefaultProjectRunner.runTarget(DefaultProjectRunner.java:95) at org.savantbuild.runtime.DefaultProjectRunner.lambda$run$5(DefaultProjectRunner.java:89) at java.util.ArrayList.forEach(Unknown Source) at org.savantbuild.runtime.DefaultProjectRunner.run(DefaultProjectRunner.java:72) at org.savantbuild.runtime.DefaultBuildRunner.run(DefaultBuildRunner.java:81) at org.savantbuild.runtime.Main.main(Main.java:81)
Any ideas on how to fix this issue?
Best regards,
Rick
Hey, I am currently trying to implement the Rust Package. But I am not 100% sure how this package is intended to work.
As far as I am able to understand you can generate the Request functions. But sometimes you are using generated Classes? How are they generated? What is the Purpose of it? Is it some kind of Request Body? Can I autogenerate them?
Are the responses Autogenerated?
As far as I am able to tell this is the last thing for me to do.
It would be great if someone could implement OIDC Userinfo endpoint in the clients, since it's a common one to call.
I tried to fork the client builder and implement it myself to open a pull request but I couldn't figure out how authorization headers are specified in the builder's specification language.
I'm using https://github.com/FusionAuth/go-client and it seems that newest versions no longer have Username field in User struct (current code uses something from 2020).
Upon some digging I've landed here & found out that it was removed in c9a82b0#diff-944105f2fe047707376c0d76f2d9c69625e6c7f65f21fb6d0ba159e889282077
Could this field be restored?
It's still listed in https://fusionauth.io/docs/v1/tech/apis/users#create-a-user & https://fusionauth.io/docs/v1/tech/apis/registrations#create-a-user-and-registration-combined
Per FusionAuth/fusionauth-typescript-client#24 the PKCE parameter isn't supported in https://github.com/FusionAuth/fusionauth-client-builder/blob/master/src/main/api/exchangeOAuthCodeForAccessToken.json
Would be great to get this added. It should be an optional parameter, of course.
We have determined that the Dart client library has not been working for some time.
FusionAuth/fusionauth-issues#2240 (comment)
We have decided to no longer support the repo and will instead be updating the docs to reflect that we are building this from the OpenAPI spec.
We have also included build information to the fusionauth-openapi repo for dart.
I know it's a small language popularity wise, but it's something I'm currently using for FusionAuth. I'm just using REST calls to FusionAuth, but would like know if it's an option for FusionAuth to just support it directly. Crystal has a very similar syntax to Ruby, so I would hope that makes it easier.
I'm also open to contribute by adding the implementation as well.
This issue popped up here: FusionAuth/go-client#55
We support resending the email with an API key: https://github.com/FusionAuth/fusionauth-client-builder/blob/master/src/main/api/resendEmailVerification.json
But not resending without an API key, though that is supported via the API: https://fusionauth.io/docs/v1/tech/apis/users/#resend-verification-email
We should create an anonymous client library call, the same way we have an anonymous changePassword call: https://github.com/FusionAuth/fusionauth-client-builder/blob/master/src/main/api/changePassword.json
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.