o1lab/xmysql

authentication

jyy1082 opened this issue · 13 comments

Is there a way to implement authentication via JWT token or username/password? Thanks!

o1lab commented

Authentication, Authorization, ACL, Custom routes, UI, Sessions is currently work-in-progress. Please watch/star this repo for future updates.

@o1lab What's the status of auth feature? Do you guys have any WIP branch for that?
I'd love to help with that (JWT) and ready to contribute.

P.S.: Thanks a lot for the fantastic project! Love what you've done!

o1lab commented

@alex-roman and others : Im sorry for not having updated this for a while.

Current status

I have redesigned xmysql for internal work. Unfortunately, I am not finding sufficient time to carve out an open-source version out of it. But I will create an open source version before end of August or mid-September.

Progress

(this is currently internal work)
It generates individual Model, Controller, ACL etc files for any mysql database.

It has below features:

  1. Server: Express, MySql
  2. Builtin: Authentication, Social Authorization, Sessions, Email, File Scaffolding
  3. Payment: Stripe
  4. Client: Vuejs/Nuxt + Vuetify
  5. Cloud : Google cloud platform
  6. Microservices: Google cloud functions
  7. Background tasks: Google Pubsub and cloud functions

Planning to make a subset or all features from above as open source. I will create a new package for this.

= = = = = ==

@alex-roman : Thank you for your interest to contributing to xmysql - feel free to make a pull request for JWT and Events.

Contribution guidelines

  • Try to keep it close to original design. Key idea here being zero configuration. So automate by going out of the way.
  • Tests to cover new functionality.
  • If the issue is a major or large change. Please create a PR issue before working on it.

Questions and suggestions are welcome.

@o1lab wow! That's huge!
Ok, I'm digging further.

@alex-roman
Did you already had some to work on the JWT-implementation?

It might become an interesting feature for an upcomming project.

updates?

Looking for JWT implementation too ! Updates ? 👍

@o1lab , I think that if you publish what you 've done , you have a great community that could help you to check the issues. Could you please create a development branch for Authentication update?

o1lab commented

@morandalex and others : there is good and bad news.
Bad news : there is going to be delay to things mentioned above since Im pre-occupied with unexpected work which I cant let go + a house move coming up + all the new internet connection pain that comes up with that. Sorry the branches are a little raw and wont help releasing now. Good news is - some of the features are coming up really well. As of today, I plan to make a first cut by Oct 31st. Thank you everyone for your patience.

Longing for authentication, the big point !

If you use my docker image https://hub.docker.com/r/extremeshok/xmysql-https-auth/

It provides a xmysql with https and auth via apikey and/or htpasswd and/or ip

Authentication methods, set in docker-compose.yml, see docker-compose-sample.yml

API_KEY, API_HTTP_AUTH and API_ALLOW_IP are all optional, you may enable 1 or more.

If API_KEY and/or API_HTTP_AUTH and/or API_ALLOW_IP are enabled, all will be required for a successful auth.

api key in header (X-API-KEY)

API_KEY=asecurekey

http auth_basic

htpasswd encrypted password
API_HTTP_AUTH=user:encryptedpassword
plaintext password
API_HTTP_AUTH=user:{plain}password

IP allow

ip with netmask
API_ALLOW_IP=11.22.33.0/24
ip without netmask
API_ALLOW_IP=11.22.33.44
multiple ip addresses
API_ALLOW_IP=11.22.33.44,11.22.33.0/24

Well, I guess the features @o1lab has promised won't come any soon :'(

A temporary workaround is to use express-gateway express-gateway and have the express-gateway do the authentication