-
Notifications
You must be signed in to change notification settings - Fork 80
Glewlwyd 2.0 roadmap #35
Comments
I'd volunteer to provide some time for the web interface and documentation. I've also got a little experience with 2FA, at least from the conceptual side.
...etc. Then, in |
Thanks @Radiergummi , Splitting config into separate fies is a good idea, there is the directive @include in libconfig and it looks straightforward, so it won't be too difficult to implement I guess. The good part with using modules is also that each module will have its own configuration and it will be separated from the rest of the application. A module can have multiple instances, each one with its own configuration too. You can also save the configuration of a module in a file, a database, on a distant service, wherever you please, as long as the module implements it. I've made similar approach in Angharad's sub projects, Benoic and Carleon, I will reuse the skills. For the help on the web interface, what kind of help are you willing to provide? |
That sounds great! But just to clarify, if you say modules, do you mean configuration modules or actual application modules? Considering the web interface, I'm a full time frontend developer, so I could overhaul the UI to make it fully responsive, fix the UX issues and create somewhat of an "identity" for Glewlwyd. |
I mean application modules. It's a kind dynamic library that must have a set of functions defined, it's a similar approach to interfaces in OOP for example. All the modules are loaded at startup by Glewlwyd, and are executed in sequence when a module call is requested. For example, let's say you have the following modules enabled in Glewlwyd:
If a user is requesting a refresh_token via Glewlwyd with its login/password, then Glewlwyd will call the function I accept your offer for the UI! |
Hey @babelouest, sorry for not having replied anything yet - I'm in the middle of moving to a new apartment and things have been pretty busy lately. I'm definitely going to come back to this though, I'm still working on integrating Glewlwyd into our application! :) |
The way I see it now, Glewlwyd 2.0 will be redisigned to host modules that will provide 2 kinds of services: authentication procedure modules and protocol module. An authentication procedure module validates a user using its own requirements. I.E. login/password database, login/password LDAP, login/secret via TOTP, login/secret code sent via e-mail, etc.
For example, a user request access to scopes Authentication and protocol modules can be configured within Glewlwyd, to setup LDAP settings, database credentials, file paths, etc. A protocol module will implement an authentication procedure. I.E. Oauth2, SAML, Oauth1, OpenID, etc. The front-end will be reworked to implement these changes and allow users and admins to administrate modules as well as the current fucntionalities. |
@babelouest that sounds great - I'd have another minor request though: Separate HTTP communication from module processing. Modules should return whatever fields they intend to respond with to the Glewlwyd main process, which will then send the actual response via HTTP to the client. Would that be achievable? |
The backend modules can be separated from the http interface. The front-end modules, the one that will interact with the user are difficult to be protocol agnostic, because you would have to add another layer on top to translate their languages into http, which would be overkill. Concerning your request to replace the content type from But the module architecture would allow anyone to change the behaviour more easily if it fits their needs. |
Glelwwyd 2.0 has now entered Beta version. You can download and install from the master branch. |
Thanks @aviezab ! So far the only medium used is this github project, there is no telegram group or other communication service. You're welcome to contribute in any way you want: code, tests, documentation, feedbacks etc. < Opening pull requests and new issues are welcome, I suggest to open one issue per feedback, rather than one issue with a bunch of different stuff in it. It's easier to follow. |
Glewlwyd 2.0 beta 3 is available! OpenID Connect us available and webauthn scheme is fixed |
Glewlwyd 2.0 RC1 is out! Ships TLS certificate authentication scheme is available, many improvements and many bugfixes |
Glewlwyd 2.0 RC2 has shipped Fixes UI and backend bugs, improve TLS certificate authentication scheme by allowing Glewlwyd server to emit PKCS#12 certificates https://github.com/babelouest/glewlwyd/releases/tag/v2.0.0-rc2 This should be that last Release Candidate before official 2.0.0 release |
Glewlwyd 2.0.0 is now ready! |
I'm thinking about improvement that will be useful for Glewlwyd in the next release.
If you're willing to help, by making pull requests or helping me guiding Glewlwyd to a better future, feel free to do so!
If you have feature requests that you think may be useful or interesting, you can post comments on this issue.
The core will still be written in C with Ulfius/Hoel libraries and the goal will still be to provide an application to delegate authentication for http based services.
Since I had some feature requests for new authentication methods such as TOTP, and I guess other authentication methods may be required by others. I will implement a modular way to add new authentication back-end, with dynamic libraries.
Also, being able to provide other authentication process than OAuth2 would be a good idea, although I'm not sure how to handle that without designing a dangerous monster. So I won't make this a priority, but I'll think about it.
The front-end will be pimped too, but I don't want to reprogram all of it, so it will not change that much.
Finally, I realized that in the profile page, having just the ip address to identify a session or a refresh token is not enough, I will add the client id and the user agent too.
This is where I'm at on the design right now, hope the to do list will get bigger, but not too much....
The text was updated successfully, but these errors were encountered: