feathersjs-ecosystem / feathers-vuex

Integration of FeathersJS, Vue, and Nuxt for the artisan developer
https://vuex.feathersjs.com
MIT License
445 stars 108 forks source link

Keycloak / feathers server and client library #616

Open corepay opened 2 years ago

corepay commented 2 years ago

Hi Marshall,

Been using feathers-vuex pretty successfully in several apps thus far - haven't ventured into vue3 and composition API yet haven't found the need or desire...yet.

Anyway, I have a fairly complex setup and user authentication requirements where on one hand I have a local strategy type login and the other an api-token login into my feathers-vuex app. Too hard and boring to explain here but basically I have the normal featehrs-vuex user auth with login screen but if query param contains a token I authenticatethat to feathers and manually update the feathers-jwt and isAuthenticated - checking that with router guards on my secure pages.

Things got a little more complicated with a new requirement and I am feeling the need to migrate away from feathers auth and standardize/build off an IDP like fusionauth...or keycloak.

I found this keycloak -> feathers client/server lib. https://github.com/giesekow/feathers-keycloak-connect

Assuming it works AND you are curious or kind enough to check it out I would really appreciate a quick opinion if it is an 'oh yeah a couple lines in the feathers-vuex auth plugin can authenticate without any trauma to the rest of your application' or 'yeah....not sometihng I would do with feathers-vuex'

Thanks man, really appreciate your work and help.

giesekow commented 2 years ago

Hi, @corepay and @marshallswain I have been using feathers for a while and also keycloak for my authentication. When I tried connecting these two I couldn't find any out-of-box connector so I wrote the above-mentioned library which works very fine now. There is no proper documentation yet! But if you are interested in testing this I can spend some time to write a brief "Getting Started" steps for you to test and add the full Docs later.

marshallswain commented 2 years ago

@giesekow I haven't used keycloak, myself, but this would be beneficial for the community. If you will write up some docs in your readme, I'll figure out from where in the docs to link them.

corepay commented 2 years ago

Sounds good from here! Be kinda cool to have a auth0 option using feathers. I can help from use case for sure, maybe more.

@marshallswain we've had a few discussions in slack or discord before you've been a big help, thank you. FYI if interested, I've successfully deployed a micorfrontend pulling in 7 domain-modeled vuex apps (customers, products, invoices etc) with feathers-vuex auth/store/models integrated on only one 'base' app but imported, used and shared among all 7 apps in a single shell app....pretty damn cool AFAIK. Check out https://webpack.js.org/concepts/module-federation and ping back offline if interested

giesekow commented 2 years ago

@marshallswain and @corepay I have added the documentation and have pushed the current changes to npm as version 1.1.0 in both server and client libraries.

If you have some time you can have a look at the docs here

Will be happy to get some feedback from you.